实验8查询答案1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL数据查询语句:
1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。
Select sno,sname,ssex,sage from student
2: (不选择重复行) 求选修了课程的学生学号。
Select distinct(sno) from sc
3: (选择表中的所有列) 求全体学生的详细信息。
Select * from student
4: (使用表达式) 求全体学生的学号、姓名和出生年份。
Select sno,sname,2008-sage as 出生年份 from student
5: (使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。
Select sno 学号,2008-sage 出生年份 from student
6: (比较大小条件) 求年龄大于19岁的学生的姓名和年龄。
Select sname,sage from student where sage>19
7: (比较大小条件) 求注册B1班或注册B2班年龄大于18岁的学生的姓名、班级号和年龄。
Select sname,classno,sage from student where classno in(‘注册B1’,’注册B2’) and sage>18
8: (确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)
之间的学生的学号和年龄。
Select sno,sname from student where sage between 19 and
22
9: (确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。
Select sno,sname from student where sage not between 19 and 22
10:(确定集合条件) 求在下列各班的学生信息:注册B1班、注册B2班。
Select * from student where classno in (‘注册B1’,’注册B2’) 11:(确定集合条件) 求不是注册B1班、注册B2班的学生信息。Select * from student where classno not in (‘注册B1’,’注册B2’)
12:(匹配查询) 求姓名是以“李”打头的学生。
Select * from student where sname like ‘李%’
13:(匹配查询) 求姓名中含有“志”的学生。
Select * from student where sname like ‘%志%’
14:(匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。
Select * from student where sname like ‘%马__’ and sname not
like ‘%马_’
15:(匹配查询) 求选修课程JC001或JC003,成绩在80至90之间,学号为2007xxx的学生的学号、课程号和成绩。
Select * from sc where cno in (‘JC001’,’JC003’) and grade between 80 and 90 and sno like ‘2007%’
16:(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。 Select sno, cno from sc where grade is null
17:(控制行的显示顺序) 求选修JC003课程或JC004课程的学生的学号、课程号和分数。
Select * from sc where cno in (‘JC003’,’JC004’)
18:(组函数) 求学生总人数。
Select count(*) from student
19:(组函数) 求选修了课程的学生人数。
Select count(distinct sno) from sc
20:(组函数) 求注册B1班学生的平均年龄。
Select AVG(sage) from student where classno=’注册B1’
21:(组函数) 求选修了课程JC001的最高、最低与平均成绩以及课程的名称。
Select max(grade) 最高分,min(grade) 最低分,avg(grade) 平
均成绩,cname 课程名称 from sc a,course b
Where o=o and o=’JC001’
Group by cname
22:(分组查询) 求各门课程的平均成绩与总成绩。
Select avg(grade) 平均成绩,sum(grade) 总成绩 from sc
Group by cno
23:(分组查询) 求各班级的人数和平均年龄。
Select count(*),avg(sage) from student
Group by classno
24:(分组查询) 输入以下查询语句并执行,观察出现的其结果并
分析其原因。
SELECT SNAME,SDEPT,COUNT(*)FROM STUDENT WHERE SDEPT=’CS’GROUP BY SDEPT;
Sname列既不是集函数,也不包含在group by子句中
25:(分组查询) 分析以下语句为什么会出现错误。并给出正确的
查询语句。
SELECT SAGE FROM STUDENT GROUP BY SNO;
Sage列既不是集函数,也不包含在group by子句中
Select sage from student group by sage