简单查询,数据库专用

  • 格式:doc
  • 大小:305.00 KB
  • 文档页数:11

实验一简单查询在订单数据库中,完成如下的查询:(1) 查询所有业务部门的员工姓名、职称、薪水。

select employeeName,headShip,salaryfrom employeewhere department='业务科'(2) 查询名字中含有“有限”的客户姓名和所在地。

select CustomerName,addressfrom Customerwhere CustomerName like '%有限%'(3) 查询出姓“王”并且姓名的最后一个字为“成”的员工。

select *from employeewhere employeeName like '王%成'没有结果(4) 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示。

select employeeName,department,headship,address,sex= Case sexwhen 'M'then '男'when 'F'then '女'endfrom employeewhere address like'%上海%' or address like '%南昌%' and sex='F'(5) 在订单明细表OrderMaster中挑出销售金额大于等于5000元的订单。

select *from OrderMasterwhere orderSum>=5000(6) 选取订单金额最高的前10%的订单数据。

SELECT TOP 10 PERCENT orderNoFROM OrderdetailGROUP BY orderNo(7) 查询出职务为“职员”或职务为“科长”的女员工的信息。

select *from employeewhere (headship='职员' or headship='科长') and sex='F'(8) 查找定单金额高于4000的所有客户编号。

select customerNofrom OrderMasterwhere orderSum>4000(9) 选取编号界于“C20050001”和“C20050004”的客户编号、客户名称、客户地址。

select CustomerNo,CustomerName,addressfrom Customerwhere CustomerNo between 'C20050001' and 'C20050004'(10) 找出同一天进入公司服务的员工。

Select a.employeeNo,a.employeeName,b.employeeNo,b.employeeNamefrom Employee a,Employee as bwhere a.employeeNo!=b.employeeNo and a.employeeName>b.employeeNameand (a.hireDate=b.hireDate)(11) 在订单主表中查询订单金额大于“E2005002业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。

SELECT *FROM OrderMasterWHERE orderSum>any(SELECT orderSumFROM OrderMasterWHERE salerNo='E2005002' AND orderDate='20080109' )(12) 查询既订购了“52倍速光驱”商品,又订购了“17寸显示器”商品的客户编号、订单编号和订单金额。

Select customerNo,orderNo,orderSumfrom OrderMasterwhere customerNo in(select customerNofrom OrderMaster a,OrderDetail b,Product cwhere a.orderNo=b.orderNo and b.productNo=c.productNo andproductName='52倍速光驱')and customerNo in (select customerNofrom OrderMaster a,OrderDetail b,Product cwhere a.orderNo=b.orderNo and b.productNo=c.productNo andproductName='17寸显示器')(13) 查找与“陈诗杰”在同一个单位工作的员工姓名、性别、部门和职务。

Select b.employeeName,b.sex,b.department,b.headShipfrom Employee a,Employee bwhere a.department=b.department and a.employeeName='陈诗杰'(14) 查询每种商品的商品编号、商品名称、订货数量和订货单价。

SELECT a.productNo,productName,quantity,priceFROM Product a, OrderDetail bWHERE a.productNo=b.productNoORDER BY productName,price(15) 查询单价高于400元的商品编号、商品名称、订货数量和订货单价。

SELECT a.productNo,productName,quantity,priceFROM Product a, OrderDetail bWHERE a.productNo=b.productNo AND price>400ORDER BY productName(16) 分别使用左外连接、右外连接、完整外部连接查询单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

左外连接命令:SELECT a.productNo,productName,quantity,priceFROM Product a LEFT OUTER JOIN OrderDetail bON a.productNo=b.productNo右外连接命令:SELECT a.productNo,productName,quantity,priceFROM Product a RIGHT OUTER JOIN OrderDetail bON a.productNo=b.productNoWHERE price>400全连接命令:SELECT a.productNo,productName,quantity,priceFROM Product a FULL OUTER JOIN OrderDetail bON a.productNo=b.productNoWHERE price>400(17) 查找每个员工的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期,其中性别使用“男”和“女”表示,日期使用“yyyy-mm-dd”格式显示。

SELECT salerNo,employeeName,CASE sex WHEN 'M'THEN '男'WHEN 'F'THEN '女'END 性别,productName,quantity,price,orderSum,convert(char(10),orderDate,120) orderDateFROM Employee a,OrderMaster b,OrderDetail c,Product dWHERE a.employeeNo=b.salerNo AND b.orderNo=c.orderNoAND c.productNo=d.productNoORDER BY salerNo(18) 查找在2008年3月中有销售记录的客户编号、名称和订单总额。

SELECT a.customerNo,customerName,orderSumFROM OrderMaster a,Customer bWHERE year(orderDate)=2008 AND month(orderDate)=3AND a.customerNo=b.customerNo(19) 使用左外连接查找每个客户的客户编号、名称、订货日期、订单金额,其中订货日期不要显示时间,日期格式为“yyyy-mm-dd”,按客户编号排序,同一客户再按订单金额降序排序输出。

SELECT a.customerNo,customerName,convert(char(10),orderDate,120) orderDate,orderSum FROM Customer a LEFT OUTER JOIN OrderMaster b ON a.customerNo=b.customerNoORDER BY a.customerNo,orderSum desc(20) 查找16M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。

SELECT employeeName,CASE sexWHEN 'M' THEN'男'WHEN 'F' THEN'女'END sex,orderDate,quantity,quantity*price totalFROM Employee a,OrderMaster b,OrderDetail c,Product dWHERE a.employeeNo=b.salerNo AND b.orderNo=c.orderNo ANDc.productNo=d.productNo AND productName='16M DRAM'(21) 查找每个人的销售记录,要求显示销售员的编号、姓名、性别、商品名称、数量、单价、金额和销售日期。

select a.employeeNo,a.employeeName,a.sex ,d.ProductName,quantity,price,price*quantity total,orderDatefrom Employee a,OrderMaster b,OrderDetail c,Product dwhere a.employeeNo=b.salerNo AND b.orderNo=c.orderNo AND c.ProductNo=d.ProductNo(22) 查询客户姓名为“客户丙”所购货物的“客户名称”、“定单金额”、“定货日期”和“电话号码”。