R:连接的差异:Dplyr 和 sql
R : Difference in joins : Dplyr and sql
我想了解 dplyr 联接和 sql 联接之间的区别。
我与 R:
中的 oracle 数据库建立了开放连接
con <- dbConnect(odbc::odbc(), …)
第一个请求:
dbGetQuery(con, "select *
from result join test on result.test_1 = test.test_1
join sample on test.sample = sample.id_2") %>%
setNames(make.names(names(.), unique = TRUE) )%>%
as_tibble()
给出了 9541 行(我想要的!)
第二个请求:
tbl(con, "result")%>%
inner_join(tbl(con, "sample"), by = c("test_1" = "id_2"))%>%
collect()
给出 2688 行
test_1 和 id_2 是字符字段,中间有空格,末尾有数字。例如:“3333”.
谢谢
在 SQL 中我看到 3 tables,在 R 中我看到 2 tables :结果和样本 table.
这是造成差异的可能原因。
我想了解 dplyr 联接和 sql 联接之间的区别。 我与 R:
中的 oracle 数据库建立了开放连接con <- dbConnect(odbc::odbc(), …)
第一个请求:
dbGetQuery(con, "select *
from result join test on result.test_1 = test.test_1
join sample on test.sample = sample.id_2") %>%
setNames(make.names(names(.), unique = TRUE) )%>%
as_tibble()
给出了 9541 行(我想要的!)
第二个请求:
tbl(con, "result")%>%
inner_join(tbl(con, "sample"), by = c("test_1" = "id_2"))%>%
collect()
给出 2688 行
test_1 和 id_2 是字符字段,中间有空格,末尾有数字。例如:“3333”.
谢谢
在 SQL 中我看到 3 tables,在 R 中我看到 2 tables :结果和样本 table.
这是造成差异的可能原因。