Mysql 使用dplyr从SQL数据库连接多个表

Mysql 使用dplyr从SQL数据库连接多个表,mysql,sql,r,dplyr,Mysql,Sql,R,Dplyr,我试图弄清楚当需要连接多个表时,如何使用dplyr进行SQL查询。例如,如果我们使用池连接到数据库: require(pool) require(dplyr) my_db <- dbPool( RMySQL::MySQL(), dbname = "shinydemo", host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com", username = "guest", password = "guest

我试图弄清楚当需要连接多个表时,如何使用dplyr进行SQL查询。例如,如果我们使用
池连接到数据库

require(pool)
require(dplyr)

my_db <- dbPool(
  RMySQL::MySQL(), 
  dbname = "shinydemo",
  host = "shiny-demo.csa7qlmguqrf.us-east-1.rds.amazonaws.com",
  username = "guest",
  password = "guest"
)
require(池)
需要(dplyr)

这是正确的方法吗?…只有你能确定。如果没有错误和结果是您想要的,那么是的!考虑让数据库引擎在R中进行查询,而不是在客户端上。通常,我只需编写一个SQL查询字符串,并使用例如dBGQuQuices()来获取结果。我试图理解当我需要组合来自多个表(可能5-10)的数据时,使用dplyr与数据库交互是否有效或值得。上面的方法可以工作,但肯定不是一个好方法。同样,在
dplyr
中工作会在客户机的RAM中本地运行处理。使用
dbGetQuery
调用查询将在服务器上的远程数据库中运行处理,并在本地获取结果集。使用R进行分析数据工作和数据库的最佳功能:基于集合的检索和操作。在他的情况下,由于
dbplyr
,工作在远程数据库上完成,而且他还没有收集数据,据我所知,没有查询以正确的方式运行yetIs?…只有你才能确定。如果没有错误和结果是您想要的,那么是的!考虑让数据库引擎在R中进行查询,而不是在客户端上。通常,我只需编写一个SQL查询字符串,并使用例如dBGQuQuices()来获取结果。我试图理解当我需要组合来自多个表(可能5-10)的数据时,使用dplyr与数据库交互是否有效或值得。上面的方法可以工作,但肯定不是一个好方法。同样,在
dplyr
中工作会在客户机的RAM中本地运行处理。使用
dbGetQuery
调用查询将在服务器上的远程数据库中运行处理,并在本地获取结果集。使用R进行分析数据工作和数据库的最佳功能:基于集合的检索和操作。在他的情况下,由于
dbplyr
,工作是在远程数据库上完成的,而且他还没有收集数据,据我所知,还没有运行任何查询
city <- my_db %>% tbl("City")
country <- my_db %>% tbl("Country")
clang <- my_db %>% tbl("CountryLanguage")

join_data <- left_join(city, country, by = c("CountryCode" = "Code")) %>%
  left_join(., clang)