[英]Opposite of join in SQL with selecting 2 columns?
我有两个表A和B,我想选择两个表在同一列( user_id
)中是公用的,而在另一列(A.columnX != B.columnY)
中却不相似的数据。
实际上,我想要与SQL连接相反。 有谁能够帮助我?
如果要基于进一步的逻辑过滤联接,只需使用WHERE
子句:
SELECT
table_a.something,
table_a.something_else,
table_b.another_thing
FROM table_a
INNER JOIN table_b
ON table_b.user_id = table_a.user_id
WHERE
table_a.column_x != table_b.column_y;
您可以通过以下方式提供联接查询:
select <<Column list>> from table1 a, table2 b where a.userid=b.userid and a.columnX!=b.columnY;
正如你所描述的问题,你似乎想NOT EXISTS
:
SELECT a.something, a.something_else,
b.another_thing
FROM table_a a INNER JOIN
table_b b
ON b.user_id = a.user_id
WHERE NOT EXISTS (SELECT 1
FROM table_b b2
WHERE b2.user_id = b.user_id and
b2.column_y = a.column_x
);
不清楚是否要在相关子句中进行user_id
比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.