当前位置:文档之家› SQL查询语句巩固及练习结果

SQL查询语句巩固及练习结果

SQL巩固测试题1.找出供应商名称,所在城市select 公司名称,城市from 供应商2.找出华北地区能够供应海鲜的所有供应商列表。

select 公司名称from 供应商aleft join 产品b on a.供应商ID = b.供应商IDleft join 类别c on b.类别ID = c.类别IDwhere a.地区= '华北' and c.类别名称= '海鲜'3.找出订单销售额前五的订单是经由哪家运货商运送的。

select c.订单ID,a.公司名称,round(c.单价*c.数量*(1-c.折扣),2) as 销售额from 运货商a left join 订单b on a.运货商ID = b.运货商left join 订单明细c on b.订单ID = c.订单IDorder by 销售额desc limit 54.找出按箱包装的产品名称。

select 产品名称from 产品where 单位数量like'%箱%'5.找出重庆的供应商能够供应的所有产品列表。

select 产品名称from 产品where 供应商ID in(select 供应商ID from 供应商where 城市= '重庆')6.找出雇员郑建杰所有的订单并根据订单销售额排序。

select a.订单ID,round(sum(a.单价*a.数量*(1-a.折扣)),2) as 销售额from 订单明细a left join 订单b on a.订单ID = b.订单IDleft join 雇员c on b.雇员ID = c.雇员IDwhere c.姓氏= '郑' and c.名字= '建杰'group by 订单IDorder by 销售额desc7.找出订单10284的所有产品以及订单金额,运货商。

select b.订单ID,产品名称,round(a.单价*a.数量*(1-a.折扣),2) as 订单金额,c.公司名称from 订单明细a,订单b,运货商c,产品dwhere a.订单ID = b.订单IDand b.运货商= c.运货商IDand a.产品ID = d.产品IDand a.订单ID = 102488.建立产品与订单的关联。

select * from 产品a,订单b,订单明细cwhere a.产品ID = c.产品IDand b.订单ID = c.订单ID9.计算销量前10位的订单明细,结果集返回订单ID,订单日期,公司名称,发货日期,销售额,并排序select distinct a.订单ID,b.订购日期,c.公司名称,b.发货日期,round(a.单价*a.数量*(1-a.折扣),2) as 订单金额from 订单明细a,订单b,客户c,产品dwhere a.订单ID = b.订单IDand c.客户ID = b.客户IDand a.产品ID = d.产品IDorder by a.数量desclimit 1010.按年度统计销售额select year(b.订购日期) as 年份,round(sum(a.单价*a.数量*(1-a.折扣)),2) as 销售额from 订单明细a,订单bwhere a.订单ID = b.订单IDgroup by year(b.订购日期)------以上开始时间一个半小时11.查询供应商中能够供应的产品样数最多的供应商。

select a.公司名称,count(b.产品名称) as 供应产品数量from 供应商a,产品bwhere a.供应商ID = b.供应商IDgroup by a.公司名称order by 供应产品数量desclimit 112.查询产品类别中包含的产品数量最多的类别。

select 类别名称,count(b.产品ID) as 产品数量from 类别a,产品bwhere a.类别ID = b.类别IDgroup by 类别名称order by 产品数量desclimit 113.找出所有的订单中经由哪家运货商运货次数最多。

select a.公司名称,count(b.运货商) as 运货商运货次数from 运货商a,订单bwhere a.运货商ID = b.运货商group by a.公司名称order by 运货商运货次数desclimit 114.按类别,产品分组,统计销售额。

select a.类别名称,b.产品名称,round(sum(d.单价*d.数量*(1-d.折扣)),2) as 销售额from 类别a,产品b,订单c,订单明细dwhere a.类别ID = b.类别IDand b.产品ID = d.产品IDand c.订单ID = d.订单IDgroup by a.类别名称,b.产品名称15.查询海鲜类别最大的一笔订单。

select d.类别名称,a.产品名称,b.订单ID,round(c.单价*c.数量*(1-c.折扣),2) as 销售额from 产品a,订单b,订单明细c,类别dwhere a.产品ID = c.产品IDand b.订单ID = c.订单IDand a.类别ID = d.类别IDand d.类别名称= '海鲜'order by 销售额desclimit 116.按季度统计销售量select year(b.订购日期) as 年份,QUARTER(b.订购日期) as 季度,round(sum(a.数量),2) as 销量from 订单明细a,订单bwhere a.订单ID = b.订单IDgroup by 年份,季度order by 年份,季度17.查出订单总额超出5000的所有订单,客户名称,客户所在地区。

select b.订单ID,c.公司名称,c.地区,round(sum(a.单价*a.数量*(1-a.折扣)),2) as 订单总额from 订单明细a,订单b,客户cwhere a.订单ID = b.订单IDand b.客户ID = c.客户IDgroup by b.订单ID,c.公司名称,c.地区having 订单总额> 500018.查询哪些产品的年度销售额低于2000select year(订购日期) as 年份,c.产品名称,round(sum(a.单价*a.数量*(1-a.折扣)),2) as 年度销售额from 订单明细a,订单b,产品cwhere a.订单ID = b.订单IDand a.产品ID = c.产品IDgroup by year(订购日期),c.产品名称having 年度销售额< 200019.查询所有订单ID开头为102的订单select * from 订单where 订单ID like'102%'20.查询所有“中硕贸易”,“学仁贸易”,“正人资源”,“中通”客户的订单,(要求使用in函数)select * from 订单aleft join 客户b on a.客户ID = b.客户IDwhere b.公司名称in('中硕贸易','学仁贸易','正人资源','中通')-----以上考试时间一个班销售21.查询所有订单中月份不是单数的订单。

select * from 订单where month(订购日期)%2 = 122.分别各写一个查询,得到订单中折扣为15%,20%的所有订单,并将两个查询再组成一个。

select a.* from 订单a,订单明细bwhere a.订单ID = b.订单IDand cast(b.折扣as char) in('0.15','0.2')23.找出在入职时已超过30岁的所有员工信息SELECT 雇员.* from 雇员where YEAR(雇用日期)-YEAR(出生日期)> 3024.找出所有单价大于30的产品(附加要求,产品类别,供应商作为参数,当产品类别和供应商都为空的时候,nofilter)select b.产品名称,c.类别名称,d.公司名称,b.单价from 产品b,类别c, 供应商dwhere b.类别ID = c.类别IDand b.供应商ID = d.供应商IDand b.单价> 3025.查询所有库存产品的总额,并按照总额排序select *,产品.单价*产品.库存量as 库存总额from 产品order by 库存总额desc26.检索出职务为销售代表的所有订单中,每笔订单总额低于2000的订单明细,以及相关供应商名称。

select a.*,e.公司名称,round(a.单价*a.数量*(1-a.折扣),2) as 订单总额from 订单明细a,订单b,雇员c,产品d,供应商ewhere a.订单ID = b.订单IDand b.雇员ID = c.雇员IDand a.产品ID = d.产品IDand d.供应商ID = e.供应商IDand c.职务in('销售代表')GROUP BY e.公司名称having 订单总额< 200027.检索出向艾德高科技提供产品的供应商所在的城市。

select c.公司名称as 客户名称,e.公司名称as 供应商名称,e.城市from 订单明细a,订单b,客户c,产品d,供应商ewhere a.订单ID = b.订单IDand b.客户ID = c.客户IDand a.产品ID = d.产品IDand d.供应商ID = e.供应商IDand c.公司名称= '艾德高科技'28.计算每一笔订单的发货期(从订购到发货),运货期(从发货到到货)的时长,并按照发货期从长到短的顺序进行排序。

select 订单ID,DATEDIFF(发货日期,订购日期) as发货期,DATEDIFF(到货日期,发货日期) as 运货期from 订单order by 发货期desc29.将产品表和运货商两个无关的表整合为一个表select d.*,c.*from 订单明细a,订单b,运货商c,产品dwhere a.订单ID = b.订单IDand b.运货商= c.运货商IDand a.产品ID = d.产品ID30.获取在北京工作并向福星制衣厂股份有限公司发送过订单的职工名称。

select distinct b.姓氏,b.名字,concat(b.姓氏,b.名字) as 姓名from 订单a,雇员b,客户cwhere a.雇员ID = b.雇员IDand a.客户ID = c.客户IDand b.城市= '北京'and c.公司名称= '福星制衣厂股份有限公司'。

相关主题