1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
# print method doesn't change unexpectedly
Code
sql_build(semi_join(lf1, lf2 %>% filter(z == 2)))
Message
Joining with `by = join_by(x)`
Output
<SQL SEMI JOIN>
By:
x-x
Where:
"`df_RHS`.`z` = 2.0"
X:
<table_path> `df`
Y:
<table_path> `df`
# generated sql doesn't change unexpectedly
Code
semi_join(lf, lf)
Message
Joining with `by = join_by(x, y)`
Output
<SQL>
SELECT `df_LHS`.*
FROM `df` AS `df_LHS`
WHERE EXISTS (
SELECT 1 FROM `df` AS `df_RHS`
WHERE (`df_LHS`.`x` = `df_RHS`.`x`) AND (`df_LHS`.`y` = `df_RHS`.`y`)
)
---
Code
anti_join(lf, lf)
Message
Joining with `by = join_by(x, y)`
Output
<SQL>
SELECT `df_LHS`.*
FROM `df` AS `df_LHS`
WHERE NOT EXISTS (
SELECT 1 FROM `df` AS `df_RHS`
WHERE (`df_LHS`.`x` = `df_RHS`.`x`) AND (`df_LHS`.`y` = `df_RHS`.`y`)
)
|