前言
练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。
今日题目:
1350.院系无效的学生
院系表:Departments
列名 | 类型 |
---|---|
id | int |
name | varchar |
在 SQL 中,id 是该表的主键
该表包含一所大学每个院系的 id 信息
学生表:Students
列名 | 类型 |
---|---|
id | int |
name | varchar |
department_id | int |
在 SQL 中,id 是该表的主键
该表包含一所大学每个学生的 id 和他/她就读的院系信息
找出那些所在院系不存在的学生的 id 和姓名
可以以 任何顺序 返回结果。
我那不值一提的想法:
- 首先梳理表内容,题干一共给了两张表,一张院系表,记录了学院id,学院名,一张学生表,记录了学生id,学生名,部门id。
- 其次分析需求,需要找到那些所在院系不存在的学生的id和姓名
- 这道题思路很简单,就是查询第二张表,筛选条件使第二张表中的部门id,不存在于第一张表中的部门id。
select id,name
from Students
where department_id not in(
select id
from Departments
)
结果:
总结:
能运行就行。