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.

这是造成差异的可能原因。