SQL在多个表上选择以检查一个表中是否存在值而其他表中是否未使用

时间:2015-02-08 14:20:53

标签: mysql sql

我有两张桌子:

table1 (id,usedcode)
table2 (codeid,uniquecode)

我希望能够检查Table2的唯一代码中是否存在某个值,但尚未在Table1中使用

2 个答案:

答案 0 :(得分:1)

尝试使用左连接,如下所示:

SELECT t2.*
FROM table2 t2 LEFT JOIN table1 t1
ON t2.uniquecode = t1.usedcode
WHERE t1.usedcode IS null

答案 1 :(得分:0)

SELECT uniquecode FROM Table2
WHERE NOT EXISTS( 
    SELECT * FROM Table1 WHERE usedcode = uniquecode
)

在英语中,查询说,"从表2中选择表1中不存在的所有唯一代码作为二手代码"。