SQL查询语句练习

    科技2022-09-07  117

    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='数据库'
    Processed: 0.008, SQL: 10