摘要: 查询没学过"张三"老师讲授的任一门课程的学生姓名 SELECT * from Student WHERE SId not in ( SELECT SC.SId from Teacher,Course,SC WHERE Teacher.TId = Course.TId AND Course.CId = 阅读全文
posted @ 2021-08-18 19:48 弩哥++ 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 查询和" 01 "号的同学学习的课程 完全相同的其他同学的信息 分析 如果某同学学的某一个课程和01同学所学的课程有对应,那么子查询返回false。 如果没有对应,子查询返回true。 子查询完毕后,如果子查询为空,说明每一个课程都有对应,那么主查询not exists为true,返回一条记录; 如 阅读全文
posted @ 2021-08-18 19:35 弩哥++ 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 查询至少有一门课与学号为" 01 "的同学所学相同的同学的信息 SELECT * from Student WHERE SId in (SELECT SId from sc WHERE cid in (SELECT cid from sc WHERE sid='01')) 阅读全文
posted @ 2021-08-18 18:21 弩哥++ 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 查询没有学全所有课程的同学的信息 分析 先查询出所有课程的数量 select count(cid) from course 再查询出成绩表中课程数量=总课数的人员 select sid from sc group by sid having count(cid)= (select count(cid 阅读全文
posted @ 2021-08-18 18:01 弩哥++ 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 查询学过「张三」老师授课的同学的信息 SELECT Student.* from Student,Teacher,Course,SC WHERE Teacher.TId = Course.TId AND Student.SId = SC.SId AND Course.CId = SC.CId AND 阅读全文
posted @ 2021-08-18 17:45 弩哥++ 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 查询「李」姓老师的数量 SELECT Tname,COUNT(Tname)数量 from Teacher GROUP BY tname HAVING Tname LIKE '李%' 阅读全文
posted @ 2021-08-18 17:32 弩哥++ 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null ) SELECT Student.SId,sname,t.选课总数,t.总成绩 from Student LEFT JOIN (SELECT sid,COUNT(cid) 选课总数 ,SUM(score) 总成绩 阅读全文
posted @ 2021-08-18 17:23 弩哥++ 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 查询在 SC 表存在成绩的学生信息 SELECT * from Student WHERE SId in (SELECT SId from SC) 阅读全文
posted @ 2021-08-18 17:14 弩哥++ 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 SELECT Student.SId,Sname,t.[平均成绩] from Student , (SELECT sid , AVG(score) 平均成绩 from sc GROUP BY sid HAVING AVG(score 阅读全文
posted @ 2021-08-18 17:08 弩哥++ 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 查询不存在" 01 "课程但存在" 02 "课程的情况 SELECT * from sc WHERE cid = '02' AND sid not in (SELECT sid from sc WHERE cid = '01') 阅读全文
posted @ 2021-08-18 16:44 弩哥++ 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 查询存在" 01 "课程,可能不存在" 02 "课程的情况(不存在时显示为 null ) SELECT * FROM (SELECT * FROM SC WHERE CID = '01') AS T1 LEFT JOIN (SELECT * FROM SC WHERE CID='02') AS T2 阅读全文
posted @ 2021-08-18 16:36 弩哥++ 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 查询同时存在" 01 "课程和" 02 "课程的情况 分析:分别先查询出包含有01课程和02课程 SELECT * from sc WHERE cid='01' SELECT * from sc WHERE cid='02' 最终代码 SELECT SId, sname ,sage FROM Stu 阅读全文
posted @ 2021-08-18 15:08 弩哥++ 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 SELECT sname,sage,class1,class2 from Student, (SELECT t1.sid,t1.class1,t2.class2 from (select sid,cid,score as class 阅读全文
posted @ 2021-08-18 13:43 弩哥++ 阅读(31) 评论(0) 推荐(0) 编辑
摘要: --学生表 Student create table Student(SId varchar(10),Sname nvarchar(10),Sage date,Ssex varchar(10)); insert into Student values('01' , '赵雷' , '1990-01-0 阅读全文
posted @ 2021-08-18 11:22 弩哥++ 阅读(42) 评论(0) 推荐(0) 编辑