SQL查询语句练习


SQL查询语句练习

有如下三个关系:在这里插入图片描述

用T—SQL命令按要求完成下列查询:

1:查询所有年龄在20岁以下的学生姓名及年龄

SELECT  SNAME,AGE
FROM  S
WHERE  AGE<20

2:查询考试成绩有不及格的学生的学号。

SELECT  DISTINCT  SNO
FROM  SC
WHERE  GRADE<60

3:查询所有年龄在20至23岁之间的学生姓名、系别及年龄。

SELECT  SNAME,SDEPT,AGE
FROM  S
WHERE  AGE>=20  AND  AGE<=23

4:查询计算机系、数学系、信息系的学生姓名、性别。

SELECT  SNAME,SEX
FROM  S
WHERE  SDEPT  IN  (‘计算机系’,’数学系’,’信息系’)

5:查询所有不姓“张”的学生的姓名。

SELECT  SNAME
FROM  S
WHERE  SNAME  NOT  LIKE  ‘张%’

6:查询姓“上官”且全名为3个汉字的学生姓名。

SELECT  SNAME
FROM  S
WHERE  SNAME  LIKE  ‘上官_’

7:查询DB_Design课程的课程号。

SELECT  CNO
FROM  C
WHERE  CNMAE=’ DB_Design’

8:查询缺考的学生的学号和课程号。

SELECT  SNO,CNO
FROM  SC
WHERE  GRADE  IS  NULL

9:查询计算机系20岁以下的学生的学号和姓名。

SELECT  SNO,SNAME
FROM  S
WHERE  SDEPT=’计算机系’  AND  AGE<20

10:查询选修了C3课程的学生的学号和成绩,其结果按分数的降序排列。

SELECT  SNO,GRADE
FROM  SC
WHERE  CNO=’C3’
ORDER  BY  GRADE  DESC

11:查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。

SELECT  *
FROM  S
ORDER  BY  SDEPT  ASC,AGR  DESC

12:查询学生总人数。

SELECT  COUNT(SNO)
FROM  S

13:查询选修了课程的学生人数。

SELECT  COUNT(DISTINCT  SNO)
FROM  SC

14:计算选修了C1课程的学生平均成绩。

SELECT  AVG(GRADE)
FROM  SC
WHERE  CNO=’C1’

15:查询学习C3课程的学生最高分数。

SELECT  MAX(GRADE)
FROM  SC
WHERE  CNO=’C3’

16:查询各个课程号与相应的选课人数。

SELECT  CNO,COUNT(SNO)
FROM  SC
GROUP  BY  CNO

17:查询选修了C2课程且成绩在90分以上的所有学生。

SELECT  SNO
FROM  SC
WHERE  CNO='C2'  AND  GRADE>90

18:查询计算机系选修了3门以上课程的学生的学号。

SELECT  SNO
FROM S,SC
WHERE  S.SNO=SC.SNO  AND  SDEPT = '计算机系' 
GROUP  BY  SNO
HAVING COUNT(*)>3

19:查询与“张三”在同一个系学习的学生学号、姓名和系别。

SELECT  SNO,SNAME,SDEPT
FROM  S
WHERE  SDEPT  IN
    (SELECT  SDEPT
     FROM  S
     WHERE SNAM='张三')

20:查询选修课程名为“数据库”的学生学号和姓名。

SELECT  SNO,SNAME
FROM  S,SC,C
WHERE  S.SNO=SC.SNO  AND  C.CNO=SC.CNO  AND   CNO='数据库'

文章作者: Cy_Dragon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cy_Dragon !
评论
  目录