查询上机作业 附答案

发布 2022-07-08 07:45:28 阅读 3145

from 借阅。

where 借书证号=[请输入借书证号]

2、在成绩数据库中创建下面选择查询对象:

s1:查询所有课程名为"高等数学"的课程信息。

select * from 课程 where 课程名="高等数学"

s2:查询在第1学期开出的课程。

select * from 课程 where 学期=1

s3查询***码为"034"的专业的所有班级名称。

select 班级名称 from 班级 where ***码="034"

s4:查询**地中包含有“广西”的学生记录。

select * from 学生 where **地 like "*广西*"

s5:查询2005级的学生记录(学号前4位为2005)

select * from 学生 where 班级** like "2005*"

s6:查询年满20岁的学生。

select * from 学生 where dateadd("yyyy",20,生日)<=date()

s7:查询今天是生日的学生的姓名及所在班的班级**。

select 姓名,班级** from 学生

where month(生日)=month(date())and day(生日)=month(date())

3、在工资管理数据库中创建下面选择查询对象。

s1:查医保小于职务工资的12%的职工的信息。

select * from 职工 where 医保《职务工资*0.12

s2:查询2023年1月份每个职工的扣款小计,提取数据项:职工号、扣款小计。

select 职工号,医保+个税 as 扣款小计 from 月工资 where 年=2006 and 月=1

上机作业4(多表查询)

1、在图书管理数据库中创建下面的查询对象。

s1:任给一个借书证号,查该读者所借出的全部书的书号及书名。

select 借阅。isbn,书名 from 借阅,图书

where 借阅。isbn=图书。isbn and 借阅。isbn=[请输入书号]

s2:任给一个借书证号,查该读者当前的可借书数。

select 限借数-已借数 from 读者类别,读者

where 读者类别。读者类别=读者。读者类别 and 借书证号=[请输入借书证号]

s3:查询所有已借数为0,但借阅表中存在借阅记录的读者的借书证号、所借书的书号和书名。

select 读者。借书证号,借阅。isbn,书名。

from (读者left join 借阅 on 读者。借书证号=借阅。借书证号)

left join 图书 on 借阅。isbn=图书。isbn

where 已借数=0 and (借阅。借书证号 is not null)

s4:查询在图书表中库存量=复本量,但在借阅表中存在借出记录的图书的书号。

与s3雷同。

s5:查询所有已借出的书的书名和所借者的借书证号和姓名。

select 读者。借书证号,姓名,书名。

from (读者 inner join 借阅 on 借阅。借书证号=读者。借书证号)

inner join 图书 on 借阅。isbn=图书。isbn

s6:给定一个借书证号,查询该读者是否可借书。提取数据项:借书证号,姓名,现可借数。

select 借书证号,姓名,读者类别。限借数-读者。已借数 as 可借数,iif(读者类别。限借数-读者。已借数》0, "可借", 不可借 ")as 是否可借。

from 读者类别 inner join 读者 on 读者类别。读者类别=读者。读者类别。

where 借书证号=[请输入借书证号]

2、在成绩管理数据库中创建下面的查询对象。

s1:任给一个学号,查询该学生所修的全部课程的课程名、成绩及学分。

select课程。课程名, 成绩。成绩, 成绩。学分。

from 课程 inner join 成绩 on 课程。课程号 = 成绩。课程号。

where 成绩。学号=[请输入学号]

s2:任给一个专业名称,查询该专业拥用的全部班级的班级**及班级名称。

select 班级。班级**, 班级。班级名称。

from 专业 inner join 班级 on 专业。***码 = 班级。***码。

where 专业。专业名称=[请输入专业名称]

s3:任给一个课程号,查选修该课程的全部学生的学号、姓名、成绩及学分。

select 学生。学号, 学生。姓名, 成绩。成绩, 成绩。学分。

from 学生 inner join 成绩 on 学生。学号 = 成绩。学号。

where 成绩。课程号=[输入课程号]

s4:任给一个课程号,查选修该课程的全部学生中不及格者的学号和姓名。

select 学生。学号, 学生。姓名, 成绩。成绩, 成绩。学分。

from 学生 inner join 成绩 on 学生。学号 = 成绩。学号。

where 成绩。课程号=[输入课程号] and 成绩。成绩<60

s5::查询没有选课的学生。

select 学生。学号,姓名。

from学生 left join 成绩 on 学生。学号 = 成绩。学号。

where 成绩。学号 is null

s6:查询没有学生选修的课程。

select 课程。课程号, 课程。课程名。

from 课程 left join 成绩 on 课程。课程号 = 成绩。课程号。

where 成绩。课程号 is null;

s7:查询2005级计算机应用专业已开出的所有课程的课程号及课程名。

select distinct 课程。课程号, 课程。课程名。

from ((专业 inner join 班级 on 专业。***码=班级。***码)

inner join 学生 on 班级。班级**=学生。班级**)

inner join 成绩 on 学生。学号=成绩。学号)

inner join 课程 on 课程。课程号=成绩。课程号。

where (班级。年级="2005") and (专业。专业名称="计算机应用");

3、在工资管理数据库中中创建下面的查询对象。

s1:查询出2023年1月分全部职工的月工资清单,提取数据项:职工号、所在部门、职务工资、奖金、应发、医保、个税、扣款小计、实发。

select 月工资。职工号, 职工。部门, 月工资。

职务工资, 月工资。奖金, 月工资。职务工资+月工资。

奖金 as 应发, 月工资。医保, 月工资。个税, 月工资。

医保+月工资。个税 as 扣款小计, 月工资。实发。

from 职工 inner join 月工资 on 职工。职工号=月工资。职工号。

where(月工资。年=2006) and (月工资。月=1)

s2:任合一个职工号,查该职工所在部门的部门出纳员的姓名。

上机作业5(聚合函数)

1.在图书管理数据库中实现下列查询。

1)在借阅表中查询哪些书被借出以及每种书被借出的本数,提取书号及借出本数。

select isbn,count(*)as 借出本数。

from 借阅。

group by isbn

2)统计馆藏书的总册数。

select sum(复本量) as 藏书总册数。

from 图书。

3)统计馆藏书的总值金额。

select sum(单价*复本量) as 藏书总值。

from 图书。

4)统计各个出版社正在借出的书的种数。

selet 出版社,count(*)

from 图书

group by 出版社。

where 库存量《复本量。

5)查询借出图书总值金额最高的读者的借书证号及姓名。

select top 1借阅。借书证号,sum(单价) as 总值。

from (读者 inner join借阅览 on 读者。借书证号 = 借阅。借书证号)

inner join 图书 on 图书。isbn = 借阅。isbn

group by 借阅。借书证号。

order by sum(单价) desc

6)查询所有库存量《复本量但在借阅表中却没有出现的图书的isbn号及书名。

select 图书。isbn,书名。

from 图书 left join 借阅on 图书。isbn = 借阅。isbn

where 库存量《复本量 and 借阅。isbn is null

2.在成绩管理数据库中实现下面查询。

1) 查询2005级共有哪些民族,每个民族的学生数。

select 民族,count(*)as 人数。

from 学生。

where 班级** like "2005*"

group by 民族。

2)查询班级名称为“05计应”的班级中选修“数据库原理及应用”课程的全部学生的人数及平均成绩。

select count(*)as 人数,**g(成绩。成绩) as 平均成绩。

from ((班级 inner join 学生 on 班级。班级**=学生。班级**)

inner join 成绩 on 学生。学号=成绩。学号)

inner join 课程 on 课程。课程号=成绩。课程号。

where 课程。课程名="数据库原理及应用"

3)查询有成绩不及格需要补考的学生的学号、姓名、课程号及课程名。

select 学生。学号,姓名,课程。课程号,课程名。

from (学生 inner join 成绩 on 学生。学号=成绩。学号)

inner join 课程 on 课程。课程号=成绩。课程号。

where 成绩。成绩<60

4)查询各班学生的平均年龄。

select 班级**,**g(datediff("yyyy",生日,date())平均年龄。

from 学生。

group by 班级**。

5)查询人数不多大于4人的班级,提取班级名称。

select 班级名称,count(*)as 人数。

from 班级 left join 学生 on 班级。班级**=学生。班级**。

group by 班级。班级**,班级名称。

h**ing count(*)4

6)查询班里只有一个人的民族,提取班级**、民族。

select 班级**,民族,count(*)as 人数。

from 学生。

group by 班级**,民族。

7)查询每门课程成绩都大于80分的学生的学号。

select 学号。

from 成绩。

group by 学号。

连接查询上机作业布置

数据定义。1.创建数据库 模式s t 2.创建学生 课程 选课基表 请按照书中字段来创建 3.插入数据。数据查询。连接查询 以学生 课程 选课基表为例,完成下述连接查询操作 1.查询每个学生及其选修课的情况。select student.sc.from student,sc where 2.使用自然...

数据查询上机作业

1.查询所有职工的姓名,同名职工只显示一次。答案 select 姓名 as name,职工编号 as num from 职工表。go2.查询职工编号 别名num 姓名 别名name 答案 select 姓名 as name,职工编号 as num from 职工表。go3.查询1号部门年龄在20到3...

sql语句作业2 高级查询附答案

sql作业2 高级查询。一 连接查询。例1.37 查询每个学生及其选修课程的情况。select students.reports.from students,reports where 例1.38 查询每个学生的学号 sno 姓名 sname 选修的课程名 cname 及成绩 grade selec...