天天看点

第三章作业数据查询

目录

  • 第三章作业数据查询
    • 根据上述数据库及测试数据,上机验证书上第三章例3.16到例3.48的所有例程,将代码和运行结果截图形成一个附件提交。
      • 1.例3.16
      • 2.例3.17
      • 3.例3.18
      • 4.例3.19
      • 5.例3.20
      • 6.例3.21
      • 7.例3.22
      • 8.例3.23
      • 9.例3.24
      • 10.例3.25
      • 11.例3.26
      • 12.例3.27
      • 13.例3.28
      • 14.例3.29
      • 15.例3.30
      • 16.例3.31
      • 17.例3.32
      • 18.例3.33
      • 19.例3.34
      • 20.例3.35
      • 21.例3.36
      • 22.例3.37
      • 23.例3.38
      • 24.例3.39
      • 25.例3.40
      • 26.例3.41
      • 27.例3.42
      • 28.例3.43
      • 29.例3.44
      • 30.例3.45
      • 31.例3.46
      • 32.例3.47
      • 33.例3.48

查询全体学生的学号与姓名
SELECT Sno,Sname
FROM student;
           
第三章作业数据查询

查询全体学生的姓名、学号、所在系
SELECT Sname,Sno,Sdept
FROM Student;
           
第三章作业数据查询

查询全体学生的详细记录
SELECT Sno,Sname,Ssex,Sage,Sdept
FROM Student;
或者
SELECT *
FROM Student;
           

查全体学生的姓名及其出生年份
SELECT Sname,2007 - Sage /*假定当年的年份为2007年*/
FROM Student;
           

查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名
SELECT Sname,'Year of Birth:',2007-Sage,LOWER(Sdept)
FROM Student;
           
第三章作业数据查询
使用列别名改变查询结果的列标题
SELECT Sname NAME,'Year of Birth:' BIRTH,
2007-Sage BIRTHDAY,LOWER(Sdept) DEPARTMENT
FROM Student;
           
第三章作业数据查询

查询选修了课程的学生学号
SELECT Sno FROM SC;
           
第三章作业数据查询
指定DISTINCT关键词,去掉表中重复的行
SELECT Sno FROM SC
           
第三章作业数据查询

查询计算机科学系全体学生的名单
SELECT Sname
FROM Student
WHERE Sdept='CS';
           
第三章作业数据查询

查询所有年龄在20岁以下的学生姓名及其年龄
SELECT Sname,Sage
FROM Student
WHERE Sage < 20;
           
第三章作业数据查询

查询考试成绩有不及格的学生的学号
SELECT DISTINCT Sno
FROM SC
WHERE Grade<60;
           

查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名
SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23;
           

查询年龄不在20~23岁之间的学生姓名、系别和年龄
SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23;
           

查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别
SELECT Sname,Ssex
FROM Student
WHERE Sdept IN ( 'IS','MA','CS' );
           

查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别
SELECT Sname,Ssex
FROM Student
WHERE Sdept NOT IN ( 'IS','MA','CS' );
           
第三章作业数据查询

查询学号为200215121的学生的详细情况
SELECT *
FROM Student
WHERE Sno LIKE '200215121';
或者
SELECT *
FROM Student
WHERE Sno = '200215121';
           
第三章作业数据查询

查询所有姓刘学生的姓名、学号和性别
SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname LIKE '刘%';
           
第三章作业数据查询

查询姓"欧阳"且全名为三个汉字的学生的姓名
SELECT Sname
FROM Student
WHERE Sname LIKE '欧阳_ %';
           
第三章作业数据查询

查询名字中第2个字为"阳"字的学生的姓名和学号
SELECT Sname
FROM Student
WHERE Sname LIKE '_阳%';
           
第三章作业数据查询

查询所有不姓刘的学生姓名
SELECT Sname,Sno,Ssexi
           
第三章作业数据查询

查询DB_Design课程的课程号和学分
SELECT Cno,Ccredit
FROM Course
WHERE Cname LIKE 'DB\_Design%' ESCAPE '\';
           

查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况
SELECT Cno,Ccredit
FROM Course
WHERE Cname LIKE 'DB\_%i%g_ %' ESCAPE '\';
或者
SELECT Cno,Ccredit
FROM Course
WHERE Cname LIKE 'DB\_%i_%n %' ESCAPE '\';
           

某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号
SELECT Sno,Cno
FROM SC
WHERE Grade IS NULL;
           
第三章作业数据查询

查所有有成绩的学生学号和课程号
SELECT Sno,Cno
FROM SC
WHERE Grade IS NOT NULL;
           
第三章作业数据查询

查询计算机系年龄在20岁以下的学生姓名
SELECT Sname
FROM Student
WHERE Sdept= 'CS' AND Sage<20;
           
第三章作业数据查询
SELECT Sname,Ssex
FROM Student
WHERE Sdept IN ( 'IS','MA','CS' )
或者
SELECT Sname,Ssex
FROM Student
WHERE Sdept= 'IS' OR Sdept= 'MA' OR Sdept= 'CS';
           
第三章作业数据查询

查询选修了3(???)号课程的学生的学号及其成绩,查询结果按分数降序排列
SELECT Sno,Grade
FROM SC
WHERE Cno= '0202'
ORDER BY Grade DESC;
           
第三章作业数据查询

查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列
SELECT *
FROM Student
ORDER BY Sdept,Sage DESC;
           
第三章作业数据查询

查询学生总人数
SELECT COUNT(*)
FROM Student;
           
第三章作业数据查询

查询选修了课程的学生人数
SELECT COUNT(DISTINCT Sno)
FROM SC;
           
第三章作业数据查询

计算1号(???)课程的学生平均成绩
SELECT AVG(Grade)
FROM SC
WHERE Cno= '0202';
           
第三章作业数据查询

查询选修1号(???)课程的学生最高分数
SELECT MAX(Grade)
FROM SC
WHERE Cno= '0202';
           
第三章作业数据查询

查询学生200215012(???)选修课程的总学分数
SELECT SUM(Ccredit)
FROM SC, Course
WHERE Sno='200215126' AND SC.Cno=Course.Cno;
           

求各个课程号及相应的选课人数
SELECT Cno,COUNT(Sno)
FROM SC
GROUP BY Cno;
           

查询选修了1(3)门以上课程的学生学号
SELECT Sno
FROM SC
GROUP BY Sno
HAVING COUNT(*) >1;
           
第三章作业数据查询

查询平均成绩大于等于90分的学生学号和平均成绩
SELECT Sno, AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade) >90;
           
第三章作业数据查询