作业第一部分 SQL查询语句的学习单表查询
--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值 select * from `订单` where `订购日期` > "1996-07-01 00:00:00" and `订购日期` < "1996-07-15 00:00:00"; --查询供应商的ID、公司名称、地区、城市和电话字段的值。条件是“地区等于华北”并且“联系人头衔等于销售代表”。
select `供应商ID`,`公司名称`,`地区`,`城市`,`电话` from `供应商` where `地区` = "华北" and `联系人职务` = "销售代表"; --查询供应商的ID、公司名称、地区、城市和电话字段的值。其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津 select `供应商ID`,`公司名称`,`地区`,`城市`,`电话` from `供应商` where `地区` = "华东" or `地区` = "华南" and `城市` = "天津"; --查询位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值
select `供应商ID`,`公司名称`,`地区`,`城市`,`电话` from `供应商` where `地区` = "华东" or `地区` = "华南";
多表查询 --查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单 ID”的降序排列 select a.`订购日期`,a.`订单ID`,b.`公司名称`,c.`姓氏`,c.`名字` from `订单` a ,`客户` b ,`雇员` c where a.`客户ID` = b.`客户ID` and a.`雇员ID` = c.`雇员ID` order by c.`姓氏` ,c.`名字`,a.`订单ID` desc; --查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称 select a.`订单ID`,b.`公司名称`,c.`产品名称` from `订单` a,`运货商` b, `产品` c,`订单明细` d where a.`运货商` = b.`运货商ID` and a.`订单ID` = d.`订单ID` and d.`产品ID`=c.`产品ID` and a.`订单ID` =10248 or a.`订单ID`=10254; --查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣 select a.`订单ID`,c.`产品名称`,b.`数量`,b.`单价`,b.`折扣` from `订单` a,`订单明细` b, `产品` c where a.`订单ID` = b.`订单ID` and b.`产品ID` = c.`产品ID` and a.`订单ID`=10248 or a.`订单ID`=10254; --查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售金额 select a.`订单ID`,c.`产品名称`,c.`单价` from `订单` a,`订单明细` b, `产品` c where a.`订单ID` = b.`订单ID` and b.`产品ID` = c.`产品ID` and a.`订单ID`=10248 or a.`订单ID`=10254;
综合查询 --查询所有运货商的公司名称和电话 select `公司名称`,`电话` from `运货商`;
--查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔 select `公司名称`,`电话`,`传真`,`地址`,`联系人姓名`,`联系人职务` from `客户`; --查询单价介于10至30元的所有产品的产品ID、产品名称和库存量 select `产品ID`,`产品名称`,`库存量` from `产品` where `单价`>10 and `单价`<30; --查询单价大于20元的所有产品的产品名称、单价以及供应商的公司名称、电话 select a.`产品名称`,a.`单价` ,b.`公司名称`,b.`电话` from `产品` a,`供应商` b where a.`供应商ID` = b.`供应商ID` and a.`单价`>20; --查询上海和北京的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量 select a.`订单ID`,c.`产品名称` ,b.`数量` from `订单` a,`订单明细` b,`产品` c where a.`订单ID`=b.`订单ID` and b.`产品ID`=c.`产品ID`; --查询华北客户的每份订单的订单ID、产品名称和销售金额 select a.`订单ID`,c.`产品名称` ,(b.`数量`*b.`单价`*(1-`折扣`)) as `销售金额` from `订单` a,`订单明细` b,`产品` c where a.`订单ID`=b.`订单ID` and b.`产品ID`=c.`产品ID`; --按运货商公司名称,统计1997年由各个运货商承运的订单的总数量 select b.`公司名称`, count(a.`订单ID`) from `订单` a, `运货商` b where a.`运货商`=b.`运货商ID` group by a.`运货商`; --统计1997年上半年的每份订单上所订购的产品的总数量 select b.`订单ID`, b.`数量` from `订单` a, `订单明细` b where a.`订购日期`>"1997-01-0100:00:00" and a.`订购日期`<"1997-07-0100:00:00" and a.`订单ID`=b.`订单ID`; --统计各类产品的平均价格 select b.`类别名称`,sum(a.`单价`)/count(a.`产品ID`) as `平均价格` from `产品` a,`类别` b where a.`类别ID`=b.`类别ID` group by a.`类别ID`;
--统计各地区客户的总数量 select `地区`,count(`客户ID`) as `客户数量` from `客户` group by `地区`;
|