您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 数据库期中复习题及部分答案
1、查找表中所有姓刘的职工的工号,部门,薪水selectemp_no,emp_name,dept,salaryfromemployeewhereemp_namelike'刘%'2、查找所有定单金额高于20000的所有客户编号selectcust_idfromsaleswheretot_amt200003、查找出职称为经理和职称为职员的女员工的姓名、职称、性别。selectemp_name,title,sexfromemployeewheretitle='经理'ortitle='职员'andsex='F'4、选取销售数量最多的前5条订单订单号、数量。selecttop5withtiesorder_no,sup_id,qtyfromsale_itemorderbyqtydesc5、按部门进行汇总,统计每个部门的总工资selectdept,sum(salary)fromemployeegroupbydept6、由employee表中查找出薪水最高的员工信息。select*fromemployeewheresalary=(selectmax(salary)fromemployee)7、由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接每一张订单的金额”的所有订单。select*fromsaleswheretot_amtall(selecttot_amtfromsaleswheresale_id='E0013'andorder_date='1996/10/15')orderbytot_amt8、检索product表和sale_item表中数量大于2的相同产品的产品编号、产品名称、数量、单价。selecta.prod_id,a.qty,a.unit_price,b.prod_namefromsale_itemasainnerjoinproductasb/*如果改成leftjoin/rightjoin试分析结果*/on(a.prod_id=b.pro_id)anda.qty2orderbya.prod_id9、查找出employee表中住址相同的员工的姓名、性别、职称、薪水、住址。selecta.emp_name,a.sex,a.title,a.salary,a.addr,b.emp_name,b.sex,b.title,b.salary,b.addrfromemployeeasainnerjoinemployeeasbon(a.emp_no!=b.emp_no)and(a.emp_nameb.emp_name)and(a.addr=b.addr)10、查找所有经理的姓名、职称、薪水。selectemp_name,title,salaryfromemployeewheretitle=’经理’11、查找出姓“王”并且姓名的最后一个字为“功”的员工。select*fromemployeewhereemp_namelike'王%功'12、查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址。selectemp_name,depttitle,addrfromemployeewheresex='F'and(addrlike'北京%'oraddrlike'上海%')13、在表sales中挑出销售金额大于等于10000元订单。select*fromsaleswheretot_amt=1000014、选取订单金额最高的前10%的订单数据。selecttop10percent*fromsalesorderbytot_amtdesc15、查找出职称为经理或职称为职员的女员工的信息。select*fromemployeewheresex='F'and(title='经理'ortitle='职员')16、删除sales表中作废的订单(其发票号码为I000000004)。deletefromsale_itemwhereorder_noin(selectorder_nofromsaleswhereinvoice_no='I000000004')17、计算出一共销售了几种产品。selectcount(distinctprod_id)fromsale_item18、显示sale_item表中每种产品的订购金额总和,并且依据销售金额由大到小排列来显示出每一种产品的排行榜。selectprod_id,sum(unit_price*qty)fromsale_itemgroupbyprod_idorderbysum(unit_price*qty)desc19、计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序。selectprod_id,month(order_date),sum(unit_price*qty)fromsale_itemgroupbyprod_id,month(order_date)orderbyprod_id,month(order_date)selectprod_id,month(order_date),sum(unit_price*qty)fromsale_itemgroupbyprod_id,month(order_date)orderbymonth(order_date),prod_id20、由sales表中查找出销售金额最高的订单。select*fromsaleswheretot_amt=(selectmax(tot_amt)fromsales)21、由sales表中查找出订单金额大于“E0013业务员在1996/10/15这天所接任一张订单的金额”的所有订单,并显示承接这些订单的业务员和该条订单的金额。selectsale_id,tot_amtfromsaleswheretot_amtall(selecttot_amtfromsaleswheresale_id='E0013'andorder_date='1996-10-15')22、找出公司女业务员所接的订单。select*fromsaleswheresale_idin(selectemp_nofromemployeewheresex='f')23、找出公司中姓名相同的员工,并且依据员工编号排序相识这些员工信息。select*fromemployeeawhereexists(selectemp_namefromemployeebwherea.emp_name=b.emp_nameanda.emp_nob.emp_no)orderbyemp_name24、找出目前业绩未超过2000元的员工。select*fromemployeewhereemp_noin(selectsale_idfromsalesgroupbysale_idhavingsum(tot_amt)2000)25、计算公司内各个部门的工资支出总和。selectdept,sum(salary)fromemployeegroupbydept26、计算每一产品销售数量总和与平均销售单价。selectprod_id,sum(unit_price*qty),avg(unit_price*qty)fromsale_itemgroupbyprod_id27、查找出employee表中部门相同且住址相同的女员工的姓名、性别、职称、薪水、住址。Selecta.emp_name,a.sex,a.title,a.salary,a.addrfromemployeeasainnerjoinemployeeasbon(a.dept=b.dept)and(a.addr=b.addr)wherea.sex='F'andb.sex='F'anda.emp_nob.emp_noSelecta.emp_name,a.sex,a.title,a.salary,a.addrfromemployeea,employeebwhere(a.dept=b.dept)and(a.addr=b.addr)anda.sex='F'andb.sex='F'anda.emp_nob.emp_no28、检索product表和sale_item表中相同产品的产品编号、产品名称、数量、单价。selecta.prod_id,b.prod_name,a.qty,a.unit_pricefromsale_itema,productbwherea.prod_id=b.prod_id/*将连接设为右连接*/selecta.prod_id,b.prod_name,a.qty,a.unit_pricefromsale_itema,productbwherea.prod_id=*b.prod_idselecta.prod_id,b.prod_name,a.qty,a.unit_pricefromsale_itemasarightouterjoinproductasbon(a.prod_id=b.prod_id)29、检索product表和sale_item表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。selectproduct.prod_id,product.prod_name,qty,unit_pricefromproduct,sale_itemwhereunit_price2400andproduct.prod_id=sale_item.prod_idorderbysale_item.prod_id30、查找员工的编号、姓名、部门和出生日期,如果出生日期为空值,--显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd。selectemp_no,emp_name,dept,isnull(convert(char(10),birthday,120),'日期不详')birthdayfromemployeeorderbydept31、查找与喻自强在同一个单位的员工姓名、性别、部门和职称selectemp_no,emp_name,dept,titlefromemployeewhereemp_name'喻自强'anddeptin(selectdeptfromemployeewhereemp_name='喻自强')32、按部门进行汇总,统计每个部门的总工资selectdept,sum(salary)fromemployeegroupbydept33、查找商品名称为14寸显示器商品的销售情况,--显示该商品的编号、销售数量、单价和金额selecta.prod_id,qty,unit_price,unit_price*qtytotpricefromsale_itema,productbwherea.prod_id=b.prod_idandprod_name='14寸显示器'34、在销售明细表中按产品编号进行汇总,统计每种产品的销售数量和金额selectprod_id,sum(qty)totqty,sum(qty*unit_price)totpricefromsale_itemgroupbyprod_id35、使用convert函数按客户编号统计每个客户1996年的订单总金额selectcust_id,sum(tot_amt)totpricefromsaleswhereconvert(char(4),order_date,120)='1996'groupbycust_id36、查找有销售记录的客户编号、名称和订单总额selecta.cust_id,cust_name,sum(tot_amt)totpricefromcustomera,salesbwherea.cust_id=b.cust_idgroupbya.cust_id,cust_name37、查找在1997年中有销售记录的客户编号、名称和订单总额selecta.cust_id,cust_name,sum(tot_amt)totpricefromcustomera,salesbwherea.cust_id=b.cust_idandconver
本文标题:数据库期中复习题及部分答案
链接地址:https://www.777doc.com/doc-2428426 .html