繁体   English   中英

选择2列在SQL中与连接相反?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM