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

时间:2018-07-02 05:44:54

标签: php sql join

我有两个表A和B,我想选择两个表在一个列(user_id)中是公用的,而在另一列(A.columnX != B.columnY)中却不相似的数据。

实际上,我想要与SQL连接相反。 有人可以帮我吗?

3 个答案:

答案 0 :(得分:3)

如果要基于进一步的逻辑过滤联接,只需使用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;

答案 1 :(得分:1)

您可以通过以下方式提供联接查询:

select <<Column list>> from table1 a, table2 b where a.userid=b.userid and a.columnX!=b.columnY;

答案 2 :(得分:0)

描述问题时,您似乎想要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比较。