1350. 院系无效的学生

院系表: Departments

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| id            | int     |
| name          | varchar |
+---------------+---------+
id 是该表的主键
该表包含一所大学每个院系的 id 信息

学生表: Students

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| id            | int     |
| name          | varchar |
| department_id | int     |
+---------------+---------+
id 是该表的主键
该表包含一所大学每个学生的 id 和他/她就读的院系信息

写一条 SQL 语句以查询那些所在院系不存在的学生的 id 和姓名

解题方案:

1.select c.id as id, c.`name` as `name`from
(select a.id as id, a.`name` as `name`, b.id as `b_id` from Students a
left join Departments b
on a.department_id =b.id) as c
where c.b_id is null
 
2. 
select id, `name` from Students where department_id not in(select id from departments)

 总结:工作中尽量不使用in进行过滤

其中,mysql in的相关资料可以借鉴https://zhuanlan.zhihu.com/p/90745848

原文地址:https://www.cnblogs.com/tomorrow-hope/p/13824362.html