前几天在《SQL每日一题》栏目发了一道SQL面试题,题目要求如下:


题目

有一张成绩表F0215,表结构为F0215(StuID,CID,Course),分部对应是学生ID,课程ID和学生成绩,有如下测试数据

这道SQL面试题你能想到几种解法?_测试数据

查询出既学过'001'课程,也学过'003'号课程的学生ID 预期结果为

这道SQL面试题你能想到几种解法?_sql_02

要求:用至少两种方法求解!


测试数据


CREATE TABLE F0215
(
StuID INT,
CID VARCHAR(10),
Course INT
)

INSERT INTO F0215 VALUES
(1,'001',67),
(1,'002',89),
(1,'003',94),
(2,'001',95),
(2,'002',88),
(2,'004',78),
(3,'001',94),
(3,'002',77),
(3,'003',90)


题目发布后确实有不少同学使用了至少两种解法,题目虽然简单,但是每种解法涉及的技术知识点大不相同,虽然有公布解题代码,但是限于每天时间有限没有写出详细的思路,今天特地录制了这道题的解题思路,希望对同学们有所帮助。



类似这种比较常见的面试题,今后都会抽时间录制具体的解题思路,如果觉得有所帮助,可以关注一下我的视频号。