第一部分SQL查询语句的学习单表查询1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值useeeeSELECT订购日期,订单ID,客户ID,雇员IDFROM订单WHERE订购日期BETWEEN'1996-7-100:00:00'AND'1996-7-1523:59:59'2、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。useeeeSELECT供应商ID,公司名称,地区,城市,电话FROM供应商WHERE地区='华北'AND联系人职务='销售代表'3、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津useeeeSELECT供应商ID,公司名称,地区,城市,电话FROM供应商WHERE地区IN('华东','华南')OR城市='天津'4、--查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值useeeeSELECT供应商ID,公司名称,地区,城市,电话FROM供应商WHERE地区IN('华东','华南')多表查询5、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单ID”的降序排列useeeeSELECT订购日期,订单ID,公司名称,姓氏,名字FROM订单,雇员,客户WHERE订购日期BETWEEN'1996-7-100:00:00'AND'1996-7-1523:59:59'AND订单.雇员ID=雇员.雇员IDAND订单.客户ID=客户.客户IDORDERBY姓氏,名字ASC,订单IDDESC6、--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称useeeeSELECT订单.订单ID,公司名称,产品名称FROM订单,运货商,产品,订单明细WHERE订单.订单IDIN('10248','10254')AND订单.订单ID=订单明细.订单IDAND订单明细.产品ID=产品.产品IDAND订单.运货商=运货商.运货商ID7、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣useeeeSELECT订单.订单ID,产品名称,数量,订单明细.单价,折扣FROM订单,产品,订单明细WHERE订单.订单IDIN('10248','10254')AND订单.订单ID=订单明细.订单IDAND订单明细.产品ID=产品.产品ID8、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售金额useeeeSELECT订单.订单ID,产品名称,数量*订单明细.单价*(1-折扣)AS销售金额FROM订单,产品,订单明细WHERE订单.订单IDIN('10248','10254')AND订单.订单ID=订单明细.订单IDAND订单明细.产品ID=产品.产品ID综合查询9、--查询所有运货商的公司名称和电话useeeeSELECT公司名称,电话FROM运货商10、--查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔useeeeSELECT公司名称,电话,传真,地址,联系人姓名,联系人职务FROM客户11、--查询单价介于10至30元的所有产品的产品ID、产品名称和库存量useeeeSELECT产品ID,产品名称,库存量FROM产品WHERE单价BETWEEN10AND3012、--查询单价大于20元的所有产品的产品名称、单价以及供应商的公司名称、电话useeeeSELECT产品名称,单价,公司名称,电话FROM产品,供应商WHERE单价20AND产品.供应商ID=供应商.供应商ID13、--查询上海和北京的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量useeeeSELECT订单.订单ID,产品名称,数量FROM产品,订单,订单明细,客户WHERE城市IN('上海','北京')ANDYEAR(订购日期)=1996AND产品.产品ID=订单明细.产品IDAND订单.订单ID=订单明细.订单IDAND订单.客户ID=客户.客户ID14、--查询华北客户的每份订单的订单ID、产品名称和销售金额useeeeSELECT订单.订单ID,产品名称,数量*订单明细.单价*(1-折扣)AS销售金额FROM产品,订单,订单明细,客户WHERE地区='华北'AND产品.产品ID=订单明细.产品IDAND订单.订单ID=订单明细.订单IDAND订单.客户ID=客户.客户ID15、--按运货商公司名称,统计1997年由各个运货商承运的订单的总数量useeeeSELECT公司名称,COUNT(订单ID)AS订单总数量FROM订单,运货商WHEREYEAR(发货日期)=1997AND订单.运货商=运货商.运货商IDGROUPBY公司名称16、--统计1997年上半年的每份订单上所订购的产品的总数量useeeeSELECT订单.订单ID,SUM(数量)AS总数量FROM订单,订单明细WHERE订购日期BETWEEN'1997-1-100:00:00'AND'1997-6-3023:59:59'AND订单.订单ID=订单明细.订单IDGROUPBY订单.订单ID17、--统计各类产品的平均价格useeeeSELECT类别名称,SUM(单价*库存量)/SUM(库存量)AS平均价格FROM产品,类别WHERE产品.类别ID=类别.类别IDGROUPBY类别名称18、--统计各地区客户的总数量useeeeSELECT地区,COUNT(客户ID)AS客户数量FROM客户GROUPBY地区第二部分SQL查询强化测试1.找出供应商名称,所在城市useeeeSELECT公司名称,城市FROM供应商2.找出华北地区能够供应海鲜的所有供应商列表。useeeeSELECT公司名称FROM供应商,类别,产品WHERE地区='华北'AND类别名称='海鲜'AND产品.类别ID=类别.类别IDAND产品.供应商ID=供应商.供应商ID3.找出订单销售额前五的订单是经由哪家运货商运送的。useeeeSELECTTOP(5)订单.订单ID,SUM(订单明细.单价*(1-折扣)*数量)AS销售额,公司名称FROM订单,订单明细,运货商WHERE订单.订单ID=订单明细.订单IDAND订单.运货商=运货商.运货商IDGROUPBY订单.订单ID,公司名称ORDERBY销售额DESC4.找出按箱包装的产品名称。useeeeSELECT产品名称FROM产品WHERE单位数量LIKE'%箱%'5.找出重庆的供应商能够供应的所有产品列表。useeeeSELECT产品名称FROM产品,供应商WHERE产品.供应商ID=供应商.供应商IDAND城市='重庆'6.找出雇员郑建杰所有的订单并根据订单销售额排序。useeeeSELECT订单.订单ID,SUM(单价*数量*(1-折扣))AS销售额FROM订单,订单明细,雇员WHERE姓氏+名字='郑建杰'AND订单.订单ID=订单明细.订单IDAND雇员.雇员ID=订单.雇员IDGROUPBY订单.订单IDORDERBY销售额DESC7.找出订单10284的所有产品以及订单金额,运货商。useeeeSELECT订单.订单ID,产品名称,订单明细.单价*数量*(1-折扣)AS订单金额,公司名称FROM订单,订单明细,产品,运货商WHERE订单.订单ID=10284AND订单.订单ID=订单明细.订单IDAND订单明细.产品ID=产品.产品IDAND订单.运货商=运货商.运货商ID8.建立产品与订单的关联。useeeeSELECT产品.*,订单.*FROM产品,订单,订单明细WHERE订单.订单ID=订单明细.订单IDAND订单明细.产品ID=产品.产品ID9.计算销量前10位的订单明细,结果集返回订单ID,订单日期,公司名称,发货日期,销售额,并排序useeeeSELECT订单.订单ID,订购日期,公司名称,发货日期,SUM(单价*数量*(1-折扣))AS销售额FROM订单,订单明细,客户WHERE订单.订单ID=订单明细.订单IDAND订单.订单IDIN(SELECTTOP(10)订单IDFROM订单明细GROUPBY订单IDORDERBYSUM(数量)DESC)AND订单.客户ID=客户.客户IDGROUPBY订单.订单ID,订购日期,公司名称,发货日期ORDERBY销售额DESC10.按年度统计销售额useeeeSELECTYEAR(订购日期)AS年份,SUM(单价*数量*(1-折扣))AS销售额FROM订单,订单明细WHERE订单.订单ID=订单明细.订单IDGROUPBYYEAR(订购日期)11.查询供应商中能够供应的产品样数最多的供应商。SELECTTOP(1)公司名称,COUNT(产品ID)AS提供产品种类数量FROM产品,供应商WHERE产品.供应商ID=供应商.供应商IDGROUPBY公司名称ORDERBYCOUNT(产品ID)DESC12.查询产品类别中包含的产品数量最多的类别。SELECTTOP(1)类别名称,COUNT(产品ID)AS产品种类数量FROM产品,类别WHERE产品.类别ID=类别.类别IDGROUPBY类别名称ORDERBYCOUNT(产品ID)DESC13.找出所有的订单中经由哪家运货商运货次数最多。SELECTTOP(1)公司名称,COUNT(运货商ID)AS运货次数FROM订单,运货商WHERE订单.运货商=运货商.运货商IDGROUPBY公司名称ORDERBYCOUNT(运货商ID)DESC14.按类别,产品分组,统计销售额。useeeeSELECT产品名称,类别名称,SUM(订单明细.单价*数量*(1-折扣))AS销售额FROM产品,类别,订单明细WHERE产品.产品ID=订单明细.产品IDAND产品.类别ID=类别.类别IDGROUPBY产品名称,类别名称15.查询海鲜类别最大的一笔订单。SELECTTOP(1)订单ID,SUM(订单明细.单价*数量*(1-折扣))AS销售额FROM产品,类别,订单明细WHERE类别名称='海鲜'AND产品.产品ID=订单明细.产品IDAND产品.类别ID=类别.类别IDGROUPBY订单IDORDERBY销售额DESC16.按季度统计销售量SELECTYEAR(订购日期)AS年度,datename(quarter,订购日期)AS季度,SUM(订单明细.单价*数量*(1-折扣))AS销售额FROM订单,订单明细WHERE订单.订单ID=订单明细.订单IDGROUPBYYEAR(订购日期),datename(quarter,订购日期)ORDERBY年度,季度17.查出订单总额超出5000的所有订单,客户名称,客户所在地区。SELECT订单.订单ID,公司名称,地区FROM订单,订单明细,客户WHERE客户.客户ID=订单.客户IDAND订单.订单ID=订单明细.订单IDGROUPBY订单.订单ID,公司名称,地区HAVINGSUM(单价*数量*(1-折扣))500018.查询哪些产品的年度销售额低于2000SELECTYEAR(订购日期),产品名称,SUM(订单明细.单价*数量*(1-折扣))AS销售额FROM订单,产品,订单明细WHERE订单.订单ID=订单明细.订单IDAND产品.产品ID=订单明细.产品IDGROUPBYYEAR(订购日期),产品名称HAVINGSUM(订单明细.单价*数量*(1-