R:联接的区别:Dplyr和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行的tibble(我想要的!(

第二个请求:

tbl(con, "result")%>%
inner_join(tbl(con, "sample"), by = c("test_1" = "id_2"))%>%
collect()

提供2688行的tibble

test1和id2是字符字段,其中有空格,末尾有数字。例如:"3333"。

感谢

在SQL中我看到3个表,在R中我看到2个表:结果表和示例表。

以下是造成差异的可能原因。

最新更新