返回介绍

solution / 1300-1399 / 1350.Students With Invalid Departments / README

发布于 2024-06-17 01:03:20 字数 2717 浏览 0 评论 0 收藏 0

1350. 院系无效的学生

English Version

题目描述

院系表: Departments

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

 

学生表: Students

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

 

找出那些所在院系不存在的学生的 id 和姓名

可以以 任何顺序 返回结果。

下面是返回结果格式的例子。

 

示例 1:

输入:
Departments 表:
+------+--------------------------+
| id   | name           |
+------+--------------------------+
| 1  | Electrical Engineering   |
| 7  | Computer Engineering   |
| 13   | Bussiness Administration |
+------+--------------------------+
Students 表:
+------+----------+---------------+
| id   | name   | department_id |
+------+----------+---------------+
| 23   | Alice  | 1       |
| 1  | Bob    | 7       |
| 5  | Jennifer | 13      |
| 2  | John   | 14      |
| 4  | Jasmine  | 77      |
| 3  | Steve  | 74      |
| 6  | Luis   | 1       |
| 8  | Jonathan | 7       |
| 7  | Daiana   | 33      |
| 11   | Madelynn | 1       |
+------+----------+---------------+
输出:
+------+----------+
| id   | name   |
+------+----------+
| 2  | John   |
| 7  | Daiana   |
| 4  | Jasmine  |
| 3  | Steve  |
+------+----------+
解释:
John, Daiana, Steve 和 Jasmine 所在的院系分别是 14, 33, 74 和 77, 其中 14, 33, 74 和 77 并不存在于院系表

解法

方法一:子查询

我们直接使用子查询的方式,找出所有不在院系表中的学生即可。

# Write your MySQL query statement below
SELECT id, name
FROM Students
WHERE department_id NOT IN (SELECT id FROM Departments);

方法二:左连接

我们也可以使用左连接,将 Students 表和 Departments 连接,连接条件为 Students.department_id = Departments.id,然后筛选出 Departments.id 为空的学生即可。

# Write your MySQL query statement below
SELECT s.id, s.name
FROM
  Students AS s
  LEFT JOIN Departments AS d ON s.department_id = d.id
WHERE d.id IS NULL;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文