MySQL检查id是否在另一个表中

时间:2010-10-22 01:26:23

标签: sql mysql

如何检查一个表中的id是否在同一数据库中的另一个表中。如果是,则不应返回该行。

表1: id int(11)unsigned主键, data varchar(25)default''

表2: id int(11)unsigned主键, tableone_id int(11)unsigned, another_data varchar(11)默认''

查询检查表1中的id是否在表2中(比较的字段是 table1.id和table2.tableone_id

2 个答案:

答案 0 :(得分:2)

SELECT table1.*
FROM table1
    LEFT JOIN table2
        ON table1.id = table2.tableone_id
WHERE table2.tableone_id IS NULL

答案 1 :(得分:1)

不确定它是否效率最高,但是:

SELECT * FROM table2 WHERE table2.tableone_id NOT IN (SELECT id FROM table1)