查询操作练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查询命令格式:
SELECT 列名表或表达式 FROM 数据源[WHERE 条件]
[GROUP BY 分组表达式]
[HAVING 分组条件]
[ODERD BY 排序表达式 ASC/DESC]
在查询分析器中使用SQL语言对下列各题进行操作:已知数据库S中含有3张表:
STUDENT(SNO,SNAME,SSEX,SAGE, SDEPT)
COURSE(CNO,CNAME,HOURS)
SC(SNO,CNO,GRADE)
1.分别查询学生表和学生修课表中的全部数据。
select * from student;
select * from sc
2.查询成绩在70到80分之间的学生的学号、课程号和成绩。select * from sc
where grade between 70and 80 ;
3.查询C01号课程成绩最高的分数
select max(grade)from sc where cno='c01'
4.查询学生都选修了哪些课程,要求列出课程号。
select distinct cno from sc 5.查询Northwind数据库中orders表的OrderID、CustomerID和OrderDate,并将最
新的定购日期(OrderDate)列在前边。
select OrderID,CustomerID ,orderdate from orders 6.查询Northwind数据库中orders表的ShipCountry列以B,C,D,F开始且第三个字符为"a"的OrderID、CustomerID和ShipCountry的信息。
select OrderID,CustomerID ,ShipCountry from orders where ShipCountry like '[BCDF]_a%'
7.查询Northwind数据库中orders表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是"a"的OrderID、CustomerID和ShipCountry的信息。
select OrderID,CustomerID ,ShipCountry from orders where ShipCountry like '[^ABCDF]%a'
8.查询修了c02号课程的所有学生的平均成绩、最高成绩和最低成绩。
select 最高分数= max(grade),最低分数=min(grade),平均分数=avg(grade) from sc where cno='c02'
9.统计每个系的学生人数。
select sdept, count(sdept) as '人数' from student group by sdept
10.统计每门课程的修课人数和考试最高分。
select sdept, count(sdept) as '人数' from student group by sdept
11.统计每个学生的选课门数,并按选课门数的递增顺序显
示结果。
12.统计修课的学生总数和考试的平均成绩。
select count(o) as '修课总人数',平均分数
=avg(grade) from sc,course where o=o and o is not null
13.查询选课门数超过2门的学生的平均成绩和选课门数。select o,count(o)'修课人数',平均分
数=avg(grade) from sc,course where o=o and o>='2' group by o
14.列出总成绩超过200分的学生,要求列出学号、总成绩。select sno,sum(grade) as '总成绩' from sc where s group by sno having sum(grade)>='200'
15.查询pubs数据库的titles表中每类图书的平均价格超
过12.0元的书的类型(Type)、平均价格和最高价格。
select type,avg(price),max(price) from titles group by type having avg(price)>12.0
16.查询pubs数据库的titles表中每类图书中图书的数目
超过3本的图书的总价格。
select 读书数目=count(type),总价格=sum(price) from titles group by type having count(type)>3
17.查询选修了c02号课程的学生的姓名和所在系。
select cno,sname,sdept from student,course where cno='c02'
18.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
select sname,cno,grade from student,sc where grade>80 19.查询计算机系男生修了"数据库基础"的学生的姓名、性别、成绩。
select sname,ssex,grade from student,sc ,course where sdept='计算机系'and ssex='男'and cname='数据库基础' and
student.sno=sc.sno and o=o
20.查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。
21.查询哪些课程没有人选,要求列出课程号和课程名。
22.查询有考试成绩的所有学生的姓名、修课名称及考试成绩,要求将查询结果放在一张新的永久表(假设新表名为new-sc)中。
23.分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,并要求将这两个查询结果合并成一个结果集,并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。
24.用子查询实现如下查询: