上海大学数据库上机作业上机练习2作业 1

发布 2022-07-01 16:00:28 阅读 5660

上大学数据库上机作业。

数据库系统与应用》上机习题。

第二部分、sql查询━━单表查询。

二、使用购进凭证数据库 。(由老师提供复制,内含“商品信息表”和“购进凭证表”)

只显示购进凭证表中凭证号、单价、数量;

并输出一个计算字段“金额”,计算金额的公式是:单价×数量。(注:不是增加字段)

use 购进凭证。

select 凭证号,单价,数量,(单价*数量)as '金额'

from 购进凭证表。

加入筛选条件:只输出“饼干”大类商品。

use 购进凭证。

select 商品编号,品名,大类编号,大类名。

from 商品信息表。

where 大类名='饼干'

除了“饼干”,再同时输出“酒类”商品;再同时输出“饮料”、“糖果”商品。

use 购进凭证。

select *

from 商品信息表。

where 大类名 in('饼干','酒类','饮料','糖果')

order by 大类编号 asc

按大类名排序、同一大类的单价从大到小排序。

use 购进凭证。

select 凭证号,商品编号,单价,数量,大类名,部门名称。

from 购进凭证表。

order by 大类名,单价 desc

清除原筛选条件,重设条件:只输出单价不在10至30元之间的酒类商品。

use 购进凭证。

select 凭证号,商品编号,单价,量,大类名,部门名称。

from 购进凭证表。

where 大类名='酒类', 单价 not between 10 and 30

统计所有商品的总数量、总金额。

use 购进凭证。

select sum(数量)as'总数量',sum(单价*数量)as 总金额

from 购进凭证表

统计饼干大类的总数量、总金额。

use 购进凭证。

select 大类名,sum(数量)as'总数量',sum(单价*数量)as 总金额

from 购进凭证表

where 大类名='饼干'

group by 大类名。

统计饼干、糖果大类的总数量、总金额。

use 购进凭证。

select sum(数量)as'总数量',sum(单价*数量)as '总金额 '

from 购进凭证表。

where 大类名 ='饼干' or 大类名 ='糖果'

统计饼干大类和糖果大类各自的总数量、总金额。

use 购进凭证。

select 大类名,sum(数量)as'总数量',sum(单价*数量)as '总金额 '

from 购进凭证表。

where 大类名 ='饼干' or 大类名 ='糖果'

group by 大类名。

统计各大类各自的总数量、总金额。

use 购进凭证。

select 大类名,sum(数量)as'总数量',sum(单价*数量)as '总金额 '

from 购进凭证表。

group by 大类名。

统计购进凭证表中的凭证张数。

use 购进凭证。

select count(*)as '凭证张数'

from 购进凭证表

统计各大类的凭证张数。

use 购进凭证。

select 大类名,count (*as '凭证张数'

from 购进凭证表

group by 大类名。

三、利用上次上机的学生_课程数据库。

1. 求计算机学院学生的学号和姓名。

use 学生课程。

select 学号,姓名,单位。

from 学生。

where 单位='计算机学院'

2. 求选修了课程的学生学号 (利用select命令中distinct选项)

use 学生课程。

select distinct 学号。

from 选课。

3. 求选修了c1课程的学生学号和成绩,并对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

use 学生课程。

select 学号,课程号,成绩。

from 选课。

where 课程号='c1'

order by 成绩 desc

4. 在选课表中添加一条记录(s7,c1,89),再运行上小题的查询,看结果是否正确。

use 学生课程。

insert into 选课 values('s7','c1','89')

5. 求选修课程c1且成绩在80-90分之间的学生学号和成绩。

use 学生课程。

select 学号,课程号,成绩。

from 选课。

where 课程号='c1'and 成绩 between 80 and 90

6. 求选修课程c1且成绩在80-90分之间的学生学号和成绩,将成绩乘以系数0.8输出。

use 学生课程。

select 学号,课程号,(成绩*0.8)as 成绩。

from 选课。

where 课程号='c1'and 成绩 between 80 and 90

7. 求计算机学院的所有学生以及自动化学院姓张的学生信息。

use 学生课程。

select *

from 学生。

where 姓名 like '张%' and 单位='自动化学院' or 单位='计算机学院'

8. 求缺少了成绩的学生的学号和课程号。

use 学生课程。

select 学号,课程号。

from 选课。

where 成绩 is null

上海大学数据库上机作业上机练习

三 利用上次上机的学生 课程数据库。1.求计算机学院学生的学号和姓名。use学生课程。select学号,姓名,单位from学生。where单位 计算机学院 2.求选修了课程的学生学号 利用select命令中distinct选项 use学生课程。select distinct学号from选课。3.求选...

上海大学数据库上机作业上机练习

上海大数据库。数据库系统与应用 上机习题。第六部分 sql高级应用。要求掌握 熟练掌握t sql语言,了解事务处理的相关语句,学会用游标方式对数据库进行操作。1 写出书上练习题10中第 题的结果,并上机验证。完成第 题。14.给出下列程序的执行结果。use school select sno,cno...

上海大学数据库上机作业上机练习4作业

上大学数据库上机作业。数据库系统与应用 上机习题。第四部分 sql查询 嵌套和组合统计查询。要求掌握 利用sql查询语言表达嵌套查询语句以及数据查询中的统计计算和组合操作。1 做书上第九章余下的例题,并完成书上练习题9中第 题。exists select from where name studen...