实验四 单表查询参考答案

更新时间:2023-11-22 04:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 单表查询

? 实验目的:

练习使用Select命令在一个表是进行查询

? 实验内容:

1、 输入验证性命令,对比得到的结果,体会命令的使用情况

2、 根据文字描述,写出查询命令,把得到的结果与给出的结果比对

? 实验准备:

SELECT [TOP 年|DISTINCT] 列名1,列名2,??,列名n FROM 数据库表名 WHERE <条件表达式> GROUP BY <列名1>

HAVING <条件表达式>

ORDER BY <列名2> [ ASC|DESC ]

? 实验过程

1、 2、 3、 4、 5、 6、

显示院系信息表中的所有信息

显示院系信息表中的部门编码、部门名称所有信息 显示所有女教师的工号、姓名、性别信息 显示CS系的老师所有个人信息

显示CS系与IT系所有老师的全部个人信息 显示女教授的姓名、性别、职称与部门信息

显示研究领域为数据库的老师的姓名、研究领域、联系电话、所在部门

7、 8、 9、 10、

显示30岁以下老师的姓名、出生日期

显示5月份出生的姓名、性别、出生日期、联系电话 显示姓李的老师的所有信息

Select * from uDept 或select did,dname,daddr,dtele,demail from udept Select did,dname from uDept

Select tid,tname,tsexy from uTeacher where tsexy=’女’

select tid,tname,tsexy,tbdate,tfield,tprof,tele,qq,email,msn,did from uteacher where did='CS'

select * from uteacher where did='CS' or did='IT'

select tname,tsexy,tprof,did from uteacher where tsexy='女' and tprof='教授'

select tname,tfield,tele,did from uteacher where tfield like '%数据库%'

select tname,tbdate from uteacher where datediff(year,tbdate,getdate())<30 select tname,tsexy,tbdate,tele from uteacher where month(tbdate)=5 select tid,tname,tsexy,tbdate,tfield,tprof,tele,qq,email,msn,did from uteacher where tname like '李%'

11、 12、 13、 14、 15、 16、 17、 18、 19、

显示选修了1号课程的同学的学号

显示同时选修了1号与3号课程的同学的学号及课程号 显示012005001号同学选修的课程号 显示012005002号同学的全部选修信息

显示期末考试成绩不及格的同学的学号、课程号与期末考试成绩 显示选修了1号课程的人数

显示1号课程期末考试成绩的平均分 显示012005001同学的期末成绩的平均分

显示2008年所有课程期末考试成绩的平均分,并按降序排列

select sid from usc where cid='1'

select sid,cid from usc where cid='1' or cid='3' select cid from usc where sid='012005001'

select sid,cid,term,score1,score2,score3,score from usc where sid='012005002' select sid,cid,score2 from usc where score2<60 select count(*) from usc where cid='1' select avg(score2) from usc where cid='1' select avg(score2) from usc where sid='012005001'

select cid,cast(avg(score2) as decimal(10,2)) from usc where term='2008-2009-1' or term='2007-2008-2' group by cid order by avg(score2) desc

20、 21、 22、 23、 24、 25、

显示周4有课的教室

显示周4有课的老师的工号 显示NB222教室排课的情况

显示1号课程上课的教室、老师工号、上课时间 显示02004号老师上课的教室与时间

显示第4节有课的教室、课程号、教师工号

26、 27、 统计每个教师上课的次数及总时长(每节课45分钟) 统计每个班每周上课的课时数,并按降序排列

select room from ujobtable where week=4 select tid from ujobtable where week=4 select * from ujobtable where room='NB222'

select room,tid,week,timeseg from ujobtable where cid='1' select room,week,timeseg from ujobtable where tid='02004'

select room,cid,tid,timeseg from ujobtable where timeseg like '%4%' select tid as 教师工号,count(*) as 次数,sum(len(rtrim(timeseg)))*45 as 总时长 from ujobtable group by tid

select gid as 班级,sum(len(rtrim(timeseg))) as 课时数 from ujobtable group by gid order by 课时数 desc

28、 29、 30、 31、

显示无前导课的课程的全部信息

显示CS系所开课程的课程名与课程名

显示学分大于3的所有课程的课程名与课时

按开课院系统计每个院系开课的学分数,并按降序排列

select * from ucourse where pcid is null or len(rtrim(pcid))=0 select cid,cname from ucourse where did='CS' select cname,credit from ucourse where credit>3

select did,sum(credit) as credit from ucourse group by did

32、 33、 34、 35、 36、 37、 38、 39、 40、 41、 42、

显示所有男生的信息

显示01班所有学生的信息 显示03班所有女生的信息 显示刘山同学的电话号码

显示所有女生的学号、姓名与班级编号 统计每个班级的人数,并按降序排列 显示人数5人以上的班级,并按升序排列 显示年龄在18岁以下的学生的全部信息 统计18岁以下学生的总人数

统计每个班18岁以下的人数,显示班级编号、人数 统计每个年龄段的人数,按照年龄升序排列

43、 44、 显示姓名中有“白云”的同学的所有信息

显示王姓同学的姓名、性别、专业班级、联系电话

select sid,sname,ssexy,sbdate,gid,stele from ustudent where ssexy='男' select sid,sname,ssexy,sbdate,gid,stele from ustudent where gid='01'

select sid,sname,ssexy,sbdate,gid,stele from ustudent where ssexy='女' and gid='03' select sid,sname,gid,stele from ustudent where sname='刘山' select sid,sname,gid from ustudent where ssexy='女'

select gid,count(*) as num from ustudent group by gid order by num

select gid,count(*) as num from ustudent group by gid having count(*)>=5 order by num select sid,sname,ssexy,sbdate,gid,stele from ustudent where year(getdate())-year(sbdate)<18

select count(*) as num from ustudent where year(getdate())-year(sbdate)<18

select gid,count(*) as num from ustudent where year(getdate())-year(sbdate)<18 group by gid select year(getdate())-year(sbdate),count(*) as num from ustudent group by year(getdate())-year(sbdate)

select sid,sname,ssexy,sbdate,gid,stele from ustudent where sname like '%白云%' select sid,sname,ssexy,sbdate,gid,stele from ustudent where sname like '王%'

45、 46、

显示CS系的班级名称及入学年份 显示没有班导的班级的所有信息

47、 显示2008年入学的所有班级的信息 select gid,gyear from ugrade

select gid,gname,gyear,did,tid from ugrade where tid is null or len(rtrim(tid))=0 select gid,gname,gyear,did,tid from ugrade where gyear=2008

本文来源:https://www.bwwdw.com/article/a8rv.html

Top