《管理信息系统A》实验指导书一_数据库应用 下载本文

from sales

group by sale_id

having sum(tot_amt)>40000 order by sum(tot_amt) desc 39、 找出公司男业务员所接且订单金额超过2000元的订单号及订单金额。 Select order_no,tot_amt

From sales ,employee

Where sale_id=emp_no and sex='M' and tot_amt>2000 40、 查询sales表中订单金额最高的订单号及订单金额。

Select order_no,tot_amt from sales where tot_amt=(select max(tot_amt) from sales) 41、 查询在每张订单中订购金额超过24000元的客户名及其地址。

Select cust_name,addr from customer a,sales b where a.cust_id=b.cust_id and tot_amt>24000

42、 求出每位客户的总订购金额,显示出客户号及总订购金额,并按总订购金额降序排列。 Select cust_id,sum(tot_amt) from sales

Group by cust_id

Order by sum(tot_amt) desc 43、 求每位客户订购的每种产品的总数量及平均单价,并按客户号,产品号从小到大排列。 Select cust_id,prod_id,sum(qty),sum(qty*unit_price)/sum(qty)

From sales a, sale_item b Where a.order_no=b.order_no Group by cust_id,prod_id Order by cust_id,prod_id 44、 查询订购了三种以上产品的订单号。 Select order_no from sale_item

Group by order_no Having count(*)>3 45、 查询订购的产品至少包含了订单10003中所订购产品的订单。 Select distinct order_no

From sale_item a

Where order_no<>'10003'and not exists (

Select * from sale_item b where order_no ='10003' and not exists

(select * from sale_item c where c.order_no=a.order_no and c.prod_id=b.prod_id)) 46、 在sales表中查找出订单金额大于“E0013业务员在1996/11/10这天所接每一张订单的金额”的所有订单,并显示承接这些订单的业务员和该订单的金额。 Select sale_id,tot_amt from sales

where tot_amt>all(select tot_amt from sales where sale_id='E0013' and

order_date='1996/11/10') 47、 查询末承接业务的员工的信息。 Select *

From employee a Where not exists

(select * from sales b where a.emp_no=b.sale_id) 48、 查询来自上海市的客户的姓名,电话、订单号及订单金额。 Select cust_name,tel_no,order_no,tot_amt

From customer a ,sales b

Where a.cust_id=b.cust_id and addr='上海市' 49、 查询每位业务员各个月的业绩,并按业务员编号、月份降序排序。 Select sale_id,month(order_date), sum(tot_amt) from sales

group by sale_id,month(order_date) order by sale_id,month(order_date) desc 50、求每种产品的总销售数量及总销售金额,要求显示出产品编号、产品名称,总数量及总金额,并按产品号从小到大排列。

Select a.prod_id,prod_name,sum(qty),sum(qty*unit_price)

From sale_item a,product b Where a.prod_id=b.prod_id Group by a.prod_id,prod_name Order by a.prod_id 51、查询总订购金额超过’C0002’客户的总订购金额的客户号,客户名及其住址。 Select cust_id, cust_name,addr

From customer

Where cust_id in (select cust_id from sales Group by cust_id

Having sum(tot_amt)>

(Select sum(tot_amt) from sales where cust_id='C0002')) 52、 查询业绩最好的的业务员号、业务员名及其总销售金额。

select emp_no,emp_name,sum(tot_amt) from employee a,sales b where a.emp_no=b.sale_id group by emp_no,emp_name having sum(tot_amt)=

(select max(totamt)

from (select sale_id,sum(tot_amt) totamt from sales

group by sale_id) c) 53、 查询每位客户所订购的每种产品的详细清单,要求显示出客户号,客户名,产品号,产品名,数量及单价。

select a.cust_id, cust_name,c.prod_id,prod_name,qty, unit_price from customer a,sales b, sale_item c ,product d

where a.cust_id=b.cust_id and b.order_no=c.order_no and c.prod_id=d.prod_id

54、求各部门的平均薪水,要求按平均薪水从小到大排序。

select dept,avg(salary) from employee group by dept order by avg(salary)

实验报告基本格式

实验名称: 学号: 姓名: 一、实验目的

二、实验环境

三、实验内容与步骤(写出每次实验步骤以及结果)

实验报告样例1

实验四

实验名称:简单查询 学号:00200012 姓名:李蜜 一、实验目的

理解SELECT语句的操作和基本使用方法,熟练使用UPDATE/INSERT/DELETE语句进行表操作。 二、实验环境

普通PC机,MS SQL SERVER 2000数据库。 三、实验内容与步骤 1、 查找所有经理的姓名、职称、薪水。

2、 查找出姓“王”并且姓名的最后一个字为“功”的员工。

3、 添加一条记录至employee表(用INSERT?..INTO)。

未添加之前:

添加之后变成了21条记录。

4、 将每个员工的薪水上调3%。

注:原来的薪水: 上调后的结果:

5、 查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址。

方法一:

注:由于没有北京的女职员,故没有显示。 6、 在表sales中挑出销售金额大于等于10000元订单。