欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL查询语句练习

程序员文章站 2022-03-08 17:36:34
...

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='数据库'
相关标签: sql 数据库