IN/Not IN 子选择的问题
[作者]:菩提树下的杨过 [来源]:互联网 [收录时间]:2007-12-9 10:53:12

有两个表格,table1和table2,两个表中有相同的字段name,
现想从table1中查出所有name字段的值不在tables2中name值的纪录

---------------------------------------------------------------

select * from table1 left join table2 on table1.name<=>table2.name

---------------------------------------------------------------

SELECT Table1.* FROM Table1 LEFT JOIN Table2 ON Table1.name = Table2.name WHERE Table2.name IS NULL;

>>>>

在MySQL中下列语句还不能工作: 

查询:
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);

可以被写成:

SELECT table1.* FROM table1,table2 WHERE table1.id=table2.id;

查询: 
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
SELECT * FROM table1 WHERE NOT EXISTS (SELECT id FROM table2
                                       WHERE table1.id=table2.id);

可以被写成:

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