AHU--数据库实验(二)--简单查询

实验目的:

1. 熟练掌握SQL语言查询语句SELECT的基本语法;

2. 熟悉各种表达选择查询条件和展示结果目标列的 方式;

3. 理解分组的概念,熟练掌握使用GROUP BY子句进行分组查询;

4. 熟练使用ORDER BY子句对结果进行排序;

5. 理解和掌握各种聚集函数的功能和应用。

实验题目:

0.将s,p,j,spj导入数据

1.查询所有供应商的信息,用中文表头显示;

语句:select sno 供应商号,sname 供应商名,stat 状态,city 供应城市 from s082;

2.查询位于“北京的名称包含星”的供应商信息;

语句:select * from s082

where city='北京' and sname like '%星%'

3.查询供应商名中第二个字是“海"的供应商信息;

语句:select * from s082

where sname like '_海%'

4.查询零件名以螺丝”开头的零件信息;

语句:select * from p082

where pname like '螺丝%'

5.查询名称含有车”的工程项目信息;

语句:select * from j082

where jname like '%车%'

6.查询名称为螺母螺栓螺丝刀”的零件信息;

语句:select * from p082

where pname in('螺  母','螺  栓','螺丝刀')

7.查询“S001”号供应商的供应情况;

语句:select * from spj082

where sno ='S001'

8.查询“P002”号零件的总供应量;

语句:select sum(qty) from spj082

where pno ='P002'

9.查询“P002”号零件供应量的最大、最小和平均值;

语句:select max(qty),min(qty),avg(qty) from spj082

where pno ='P002'

10.分组计算每个工程项目使用每种零件的供应量;

语句:select jno,pno, sum(qty) as sum_pqty from spj082

group by pno,jno

11.查询供应量在300以上的供应信息;

语句:select jno,pno, sum(qty) as sum_pqty from spj082

group by pno,jno

having sum(qty)>300

12.查询供应量最低的两个供应信息;

语句:select * from spj082

order by qty limit 2

13.查询供应量前三名的供应商的编号;

语句:select * from spj082

order by qty desc limit 3

语句:select sno from spj082

order by qty desc limit 3

14.分组统计每个供应商供应每种零件的供应量。

语句:select sno,pno,sum(qty) from spj082

group by sno,pno

小结:

在上一次实验后,这次实验明显操作更加的流程。通过本次实验,我学习到了查询功能丰富的用法,作为SQL语言中最为重要的关键词,它的功能不仅仅在于简单的投影查询功能。

本次基于SELECT还运用了“中文表头显示”使用别名,即直接在名字后面加空格后加上别名,关键词查询“where”,字符串匹配“like”,多个关键词查询“where...in...”,数据查询“=”,分组“group by,选择时添加一列,根据某列排序“order by”,降序“desc”,限制选择某几个“limit”,比较大小条件“having”

其中在这个过程中,有一个我重复试验了多次仍然结果有误,就是如何查询最后一个字是丰的供应商名,在询问过老师之后,原来是因为,我使用的sno是char型,固定长度字符串,虽然这个字是文字的最后一个,但他不是字符串的最后一个,如果想通过,则使用变长字符,varchar即可。

  • 34
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值