SELECT语句练习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SELECT 语句练习题

有下列四个表:

1、学生表

S_NO S_NAME S_SEX S_BIRTHDAY CLASS

108曾华男1905-5-2295033

105匡明男1905-5-1895031

107王丽女1905-5-795033

101李军男1905-5-995033

109王芳女1905-5-1895031

103陆君男1905-5-2095031

2、教师表

T_NO T_NAME TSEX T_BIRTHDAY PROF DEPART 804李诚男1958-12-2副教授计算机系856张旭男1969-3-12讲师电子工程系825王萍女1972-5-5助教计算机系831刘冰女1977-8-14助教电子工程系

3、课程表

C_NO C_NAME T_NO

3-105计算机导论825

3-245操作系统804

6-166数据电路856

9-888高等数学100

4、成绩表

S_NO C_NO DEGREE

1033-24586

1053-24575

1093-24568

1033-10592

1053-10588

1093-10576

1013-10564

1073-10591

1083-10578

1016-16685

1076-10679

1086-16681

Select 语句的最基本结构:Select …. From ….where

order by:排序子句(ASC:升序,DESC:降序)

like:模式匹配(通配符:% 可以匹配任意类型和长度的字符;

_ 任意单个字符。

聚合函数(SUM A VG、COUNT、COUNT(*)、MAX、MIN)

GROUP BY:分组

1、查询Student表中的所有记录的S_NAME、S_SEX和Class列。

2、查询教师所有的单位即不重复的Depart列。

3、查询Student表的所有记录。

4、查询Score表中成绩在60到80之间的所有记录。

5、查询Score表中成绩为85,86或88的记录。

6、查询Student表中“95031”班或性别为“女”的同学记录。

7、以Class降序查询Student表的所有记录。

8、以C_NO升序、Degree降序查询Score表的所有记录。

9、查询“95031”班的学生人数。

10、查询Score表中的最高分的学生学号和课程号。

11、查询‘3-105’号课程的平均分。

12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。

13、查询最低分大于70,最高分小于90的S_NO列。

14、查询所有学生的S_NAME、C_NO和Degree列。

15、查询所有学生的S_NO、C_NAME和Degree列。

16、查询所有学生的S_NAME、C_NAME和Degree列。

17、查询“95033”班所选课程的平均分。

SQL语句练习题参考答案

1、select S_NAME,S_SEX,Class from Student;

2、select distinct depart from teacher;

3、select S_NO as '学号',S_NAME as '姓名',S_SEX as '性别',S_BIRTHDAY as'出生日期',Class as'班号'from student;

select S_NO as 学号,S_NAME as 姓名,S_SEX as 性别,S_BIRTHDAY as 出生日期,Class as 班号from student;

4、select * from score where degree between 60 and 80;

或select * from score where degree>=60 and degree<=80;

5、select * from score where degree in (85,86,88);

6、select * from student where class='95031'or S_SEX='女';

7、select * from student order by class desc;

8、select * from score order by C_NO asc ,degree desc;

或select * from score order by C_NO ,degree desc;

9、select count(*) as CNT from student where class='95031';

10、select S_NO as '学号',C_NO as '课程号', degree as '最高分' from score

where degree=(select max(degree) from score)

11、select avg(degree)as 课程平均分from score where C_NO='3-105';

12、select C_NO,avg(degree) from score where C_NO like'3%'group by C_NO having count(*) >5;

13、select S_NO from score group by S_NO having min(degree)>70 and max(degree)<90;

14、select student.S_NAME,score.C_NO,score.degree from student,score where student.S_NO=score.S_NO;

15、select x.S_NO,y.C_NAME,x.degree from score x,course y where x.C_NO=y.C_NO;

16、select x.S_NAME,y.C_NAME,z.degree from student x,course y,score z where x.S_NO=z.S_NO and z.C_NO=y.C_NO;

相关文档
最新文档