如何在特殊情况下从sql中的两个表中选择?

时间:2015-03-16 02:54:44

标签: mysql sql

我在查询中遇到问题,在类似情况下从两个表中进行选择 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;

1 个答案:

答案 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;