日期:2014-05-16  浏览次数:20788 次

如何查询在父表条件查询后,主键在子表中未出现的记录
我有三个表
teacher 的主键 是corporation表的外键,而corporation表的主键又是leader表的外键

但是我的业务规则是:leader与coporation是一对一的,所以leader表的外键必须保证是唯一的

我要根据传入的teacher的主键,查询出没有在leader表中出现的corporation的主键的corporation的记录

请问 SQL语句怎么写?
SQL

------解决方案--------------------
SELECT * FROM TEST2 WHERE STR1 NOT IN (SELECT STR2 FROM TEST1)

SELECT * FROM TEST2 WHERE NOT EXISTS (SELECT 1 FROM TEST1 WHERE TEST2.STR1 = TEST1.STR2)
------解决方案--------------------
很明显这是存在性的判断,楼上正解