随笔分类 -  Sql练习题

摘要:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null SELECT ISNULL((SELECT DISTINCT Salary FROM Em 阅读全文
posted @ 2021-08-21 14:59 弩哥++ 阅读(28) 评论(0) 推荐(0) 编辑
摘要:按照出生日期来计算学生的年龄信息 IF OBJECT_ID('GetStudentAge','FN') IS NOT NULL DROP FUNCTION GetStudentAge GO CREATE FUNCTION GetStudentAge(@birth DATE) RETURNS INT 阅读全文
posted @ 2021-08-21 11:14 弩哥++ 阅读(36) 评论(0) 推荐(0) 编辑
摘要:查询各学生的年龄,只按年份来算 SELECT *,year(GETDATE())-YEAR(Sage)年龄 from Student 阅读全文
posted @ 2021-08-21 10:17 弩哥++ 阅读(49) 评论(0) 推荐(0) 编辑
摘要:查询选修了全部课程的学生信息 SELECT * from Student WHERE SId IN ( SELECT sid from sc GROUP BY sid HAVING COUNT(cid) = (SELECT COUNT(*) FROM Course)) 阅读全文
posted @ 2021-08-21 09:29 弩哥++ 阅读(27) 评论(0) 推荐(0) 编辑
摘要:检索至少选修两门课程的学生学号 SELECT Student.SId,Student.Sname,选课数 from Student, (SELECT sid,COUNT(cid) 选课数 from sc GROUP BY sid HAVING COUNT(cid)>=2) t WHERE Stude 阅读全文
posted @ 2021-08-20 20:19 弩哥++ 阅读(27) 评论(0) 推荐(0) 编辑
摘要:查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩 select a.cid, a.sid, a.score from sc as a,sc as b WHERE a.sid = b.sid and a.cid != b.cid and a.score = b.score group by a 阅读全文
posted @ 2021-08-20 19:58 弩哥++ 阅读(41) 评论(0) 推荐(0) 编辑
摘要:查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 方式1: SELECT Student.sid,Student.sname,t.score from Student , (SELECT TOP 1 * from sc WHERE CId = (SELECT CId from Tea 阅读全文
posted @ 2021-08-20 19:27 弩哥++ 阅读(26) 评论(0) 推荐(0) 编辑
摘要:求每门课程的学生人数 SELECT cid,COUNT(cid) 课程人数 from sc GROUP BY cid 阅读全文
posted @ 2021-08-20 19:10 弩哥++ 阅读(32) 评论(0) 推荐(0) 编辑
摘要:查询课程编号为 01 且课程成绩在 80 分以上的学生的学号和姓名 SELECT Student.SId,Student.Sname,Cname,score from Student,Course,SC WHERE Student.SId = sc.SId AND Course.CId = SC.C 阅读全文
posted @ 2021-08-20 19:08 弩哥++ 阅读(28) 评论(0) 推荐(0) 编辑
摘要:查询不及格的课程 SELECT * from Course WHERE CId IN (SELECT cid from sc WHERE score < 60 GROUP BY cid) 阅读全文
posted @ 2021-08-20 17:41 弩哥++ 阅读(30) 评论(0) 推荐(0) 编辑
摘要:查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数 SELECT Sname,cname,Course.CId,SC.score from Student,Course,sc WHERE Student.SId = SC.SId AND Course.CId = SC.CId AND sco 阅读全文
posted @ 2021-08-20 17:31 弩哥++ 阅读(26) 评论(0) 推荐(0) 编辑
摘要:查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况) SELECT Student.*,CId,score from Student LEFT JOIN SC ON Student.SId = SC.SId 阅读全文
posted @ 2021-08-20 17:25 弩哥++ 阅读(28) 评论(0) 推荐(0) 编辑
摘要:查询课程名称为「数学」,且分数低于 60 的学生姓名和分数 SELECT Student.Sname,Course.Cname,SC.score FROM Student,Course,SC WHERE Student.SId = SC.SId AND Course.CId = sc.cid AND 阅读全文
posted @ 2021-08-20 17:21 弩哥++ 阅读(74) 评论(0) 推荐(0) 编辑
摘要:查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩 SELECT Student.SId,Student.Sname,平均成绩 FROM Student , (SELECT sid,AVG(score) 平均成绩 from sc GROUP BY SId HAVING AVG(score) 阅读全文
posted @ 2021-08-20 17:12 弩哥++ 阅读(32) 评论(0) 推荐(0) 编辑
摘要:查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列 SELECT cid,AVG(score) 平均成绩 from sc GROUP BY cid ORDER BY AVG(score) DESC,cid 阅读全文
posted @ 2021-08-20 16:59 弩哥++ 阅读(49) 评论(0) 推荐(0) 编辑
摘要:查询 1990 年出生的学生名单 --方式1 SELECT * FROM Student WHERE Sage BETWEEN '1990-01-01' AND '1990-12-31' --方式2 SELECT * FROM Student WHERE YEAR(Sage)=1990 阅读全文
posted @ 2021-08-20 16:52 弩哥++ 阅读(40) 评论(0) 推荐(0) 编辑
摘要:查询同名学生名单,并统计同名人数 SELECT sname,COUNT(sname) 同名人数 from Student GROUP BY sname HAVING COUNT(sname)>1 阅读全文
posted @ 2021-08-20 16:37 弩哥++ 阅读(29) 评论(0) 推荐(0) 编辑
摘要:查询名字中含有「风」字的学生信息 SELECT * from Student WHERE Sname like '%风' or Sname LIKE '风%' or Sname LIKE'%风%' 阅读全文
posted @ 2021-08-20 16:33 弩哥++ 阅读(28) 评论(0) 推荐(0) 编辑
摘要:查询男生、女生人数 SELECT Ssex,COUNT(Ssex) 人数 from Student GROUP BY Ssex 阅读全文
posted @ 2021-08-20 16:27 弩哥++ 阅读(27) 评论(0) 推荐(0) 编辑
摘要:查询出只选修两门课程的学生学号和姓名 --方式1: SELECT Student.SId,Sname from Student WHERE SId in ( SELECT sid from sc GROUP BY SId HAVING COUNT(cid)=2 ) --方式2 SELECT Stud 阅读全文
posted @ 2021-08-20 15:29 弩哥++ 阅读(32) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示