天天看點

實驗3.1 簡單的單表查詢

一、實驗目的

熟練掌握用SELECT語句實作簡單的單表查詢。掌握SELECT子句、FROM子句、WHERE子句及ORDER BY 子句的用法。

二、實驗原理

用SELECT語句實作簡單的單表查詢。在SELECT子句中用TOP關鍵字來限制傳回到結果集中的記錄數目,用DISTINCT關鍵字從結果集中去掉重複的記錄。WHERE子句中用關系比較符、[NOT] BETWEEN、[NOT]  IN、LIKE、 IS [NOT]NULL及邏輯運算符構成查詢條件,對結果集中的記錄進行篩選。ORDER BY子句将根據查詢結果集中一個或多個字段對查詢結果進行排序。

三、實驗裝置

安裝有SQL SERVER 2000的計算機。

四、實驗示例

1.查找表中所有姓劉的職工的工号,姓名,部門,薪水

select emp_no,emp_name, dept ,salary 

from employee 

where emp_name like '劉%'

2.查找所有定單金額高于20000的所有客戶編号

select cust_id from sales

where tot_amt>20000; 

3.查找業務部或會計部的女員工的基本資訊。

select * from employee

where sex='女' and dept  in ('業務','會計');

4.選取編号界于‘C0001’和‘C0004’的客戶編号、客戶名稱、客戶位址。

select * from customer

where cust_id between 'C0001' and 'C0004';

5.選取銷售數量最多的前5條訂單訂單号、數量。

select TOP 5 PERCENT * 

from sales

ORDER BY tot_amt;

五、實驗内容

1、在員工表employee中查找所有經理的姓名、職稱、薪水。

select emp_name, title,salary 

from employee 

where title ='經理';

2、在銷售主表sales中查找訂單金額大于等于10000元的訂單。

select * from sales

where tot_amt>=10000; 

3、在員工表employee中查找薪水在4000至8000元之間的員工。

select * from employee 

where salary  between 4000 and 8000;

4、在員工表employee中查找住址為上海、北京、天津這三個城市的員工。

select * from employee 

where addr in ('上海市','北京市','天津市');

5、在員工表employee中查找住址不在上海、北京、天津這三個城市的客戶。

select * from employee 

where addr not in ('上海市','北京市','天津市');

6、在員工表employee中查找姓“王”用姓名最後一個字為“功”的員工。

select *

from employee 

where emp_name like '王%功';

7、在員工表employee中查找姓“劉”的員工。

select *

from employee 

where emp_name like '劉%'

8、查找出職稱為“經理”或“職員”的女工的資訊。

select * from employee

where sex='女' and title  in ('經理','職員');

9、查找薪水最高的前三條員工記錄。

select top 3 percent*

from sales

order by salary desc;

10、查找訂單金額最高的前10%的訂單記錄。

select top 10 percent* 

from sales

order by tot_amt desc;

11、查找員工表中所屬部門。(去掉重複記錄)

select DISTINCT dept 

from employee ;

12、查找員工表中的所有記錄,并按薪水由低到高進行排序。

select * 

from employee 

order by salary desc;

13、計算出sale_item表中每一筆銷售資料的産品編号、銷售數量、單價和銷售金額(銷售數量*單價),并按照銷售金額的大小排序。

select prod_id,qty,unit_price,(unit_price *qty )as 銷售金額

 from sale_item;