一、實驗目的
熟練掌握用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;