我在查询中遇到问题,在类似情况下从两个表中进行选择 savanh 表保存学生数据和add_class表,其中包含savanh的savanh_id的外键,现在我想选择那些尚未添加到add_class表中的学生表savanh表。 以下查询不起作用请任何想法?
SELECT savanh.savanh_id,asass_number, name, father_name, grand_father
FROM savanh, add_class
WHERE savanh.savanh_id != add_class.savanh_id;
答案 0 :(得分:1)
你可以使用LEFT JOIN: 左连接将为您提供savanh中的数据作为基础数据。然后add_class的数据与之匹配。
所有无法匹配的记录都是我们要保留的记录,它为您提供了带有NULL检查的WHERE子句。
SELECT savanh.savanh_id,asass_number, name, father_name, grand_father
FROM savanh
LEFT JOIN add_class ON savanh.savanh_id = add_class.savanh_id
WHERE add_class.savanh_id IS NULL;