1. 程式人生 > >實驗3.2 複雜的單表查詢

實驗3.2 複雜的單表查詢

、實驗目的

熟練掌握SELECT查詢語句中的Group by 子句、Having子句的用法,以及彙總函式的使用。

二、實驗原理

在查詢語句中用Group by子句進行分組;

用Having子句對分組進行篩選。

使用MAX(),MIN(),COUNT(),SUM(),AVG()等函式在查詢結果集中生成彙總值。

三、實驗裝置

安裝有SQL SERVER 2000的計算機。

四、實驗示例

1、統計表中員工的薪水在4000-6000之間的人數

select *from employee

where salarybetween 4000 and 6000;

2、計算'P0001'產品的平均銷售單價

select AVG(unit_price

)

from sale_item

where prod_id='P0001';

3、  找出目前銷售業績超過40000元的業務員編號及銷售業績,並按銷售業績從大到小排序。

Select sale_id,sum(tot_amt)

From sales

Group bysale_id

Having sum(tot_amt)>4000

Order by sum(tot_amt)desc

4、查詢訂購了三種以上產品的訂單號。

Select order_no

From sale_item

Group byorder_no

Having count(prod_id)>3

五、實驗內容

1.       在員工表employee中統計員工人數。

Select count(*)

From employee

2.       統計各部門員工的員工人數及平均薪水。

Select dept,count(emp_no),AVG(salary)

from employee

group by dept;

3.       查詢銷售業績超過10000元的員工編號。

select emp_no

from employee

where salary>10000;

4.       計算每一產品銷售數量總和與平均銷售單價。

Select prod_id,sum(qty),AVG(unit_price)

from sale_item

group byprod_id

;

5.       計算出一共銷售了幾種產品。

Select count(prod_id)

From sale_item

Group by order_no

6.       顯示sale_item表中每種產品的訂購金額總和,並且依據銷售金額由大到小排列來顯示出每一種產品的排行榜。

Select prod_id, sum(qty* unit_price)

From sale_item

Group byprod_id

Order by prod_id

7.       計算每一產品每月的銷售金額總和,並將結果按銷售(月份,產品編號)排序。

Select prod_id,sum(qty*unit_price),Year(order_date),month(order_date)

From sale_item

Group byprod_id ,Year(order_date),month(order_date)

Order by prod_id,Year(order_date),month(order_date)desc

8.       查詢每位業務員各個月的業績,並按業務員編號、月份降序排序。

Select sale_id,sum(tot_amt),Year(order_date),month(order_date)

From sales

Group bysale_id ,Year(order_date),month(order_date)

Order bysale_id ,Year(order_date),month(order_date)desc