SQL面试50题-12

SQL面试50题
12.--查询和"01"号同学所学课程完全相同的其他同学的学号(重点)
1.‘01’号同学所学课程
SELECT c_id FROM Score WHERE s_id = '01'
2.'01'同学所学课程数
SELECT s_id, COUNT(c_id) FROM Score GROUP BY s_id HAVING s_id = '01'
3.没学过‘01’号同学所学课程的其他同学
SELECT s_id FROM Score WHERE c_id NOT IN (SELECT c_id FROM Score WHERE s_id = '01')
4.至少学过一门‘01’号同学所学课程的其他同学
SELECT s_id FROM Score WHERE c_id IN (SELECT c_id FROM Score WHERE s_id = '01')
本题满足:1️⃣学过01同学所学的课程2️⃣不存在01同学没有学过的课程3️⃣课程数和01同学相同
SELECT s_name,s_id FROM Student WHERE s_id IN
(SELECT s_id FROM Score GROUP BY s_id HAVING COUNT(c_id)=(SELECT COUNT(c_id) FROM Score GROUP BY s_id HAVING s_id = '01'))
AND s_id IN
(SELECT s_id FROM Score WHERE c_id IN
(SELECT c_id FROM Score WHERE s_id = '01') )
AND s_id NOT IN
(SELECT s_id FROM Score WHERE c_id NOT IN
(SELECT c_id FROM Score WHERE s_id = '01'))
AND s_id <> '01';

全部评论

相关推荐

09-18 20:41
门头沟学院 Java
要个offer怎么这...:哈哈哈哈哈哈,我也拿了0x10000000个offer,秋招温啦啦啦,好开心
我的秋招日记
点赞 评论 收藏
分享
10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务