熟练掌握用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;