查询与视图--练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查询与视图--练习
一、堂上练习,编写如下的SQL查询语句。(以下1~41题使用SALES数据库,42~45题使用WESTWIND数据库)
1、查询员工表中的所有记录后,再查询所有员工的姓名和联系电话。
select*
from employees
go
select姓名,电话
from employees
2、查询进货表中的所有的生产厂商,去掉重复值。
select distinct生产厂商
from goods
3、查询进货表中商品名称、单价和数量的前4条记录。
select top 4 商品名称,零售价,数量
from goods
4、使用列的别名,查询员工表中所有记录的员工编号(别名为number),姓名(别名为name)和电话(别名为telephone)。
select编号as number,姓名as name,电话as telephone
from employees
select编号as number,姓名as name,电话as telephone
into修改表
from employees
5、查询各件商品的进货总金额。
select进货价,数量,进货价总金额=进货价*数量
from goods
6、查询商品表的商品编号,名称,进货数量。进货数量是根据商品数量,若数量低于10,
查询结果就显示出“需求量少”;若数量高于10但低于50,查询结果就显示出“需求量一般”;若数量高于50,查询结果就显示出“需求量大”。
7、在Employees表中查询姓名为王峰的员工的联系电话。
select电话
from employees
where姓名='王峰'
8、查询笔记本电脑的进货信息。
select*
from goods
where商品名称='笔记本电脑'
9、查询在2005年1月1日以前销售的商品信息。
select*
from Sell
where售出时间<='2005-1-1'
10、查询进货总金额小于10000元的商品名称。
select商品名称
from goods
where进货价*数量<10000
11、查询2005年1月1日以前进货且进货价大于1000元的商品。
12、查询“李”姓员工的基本信息。(可以使用like、contains和freetext来做)select*
from employees
where姓名like'李%'
13、查询零售价格在2000到3000元之间的所有商品。
select*
from Goods
where零售价>2000 and零售价<3000
14、查询打印机、摄像机的进货价格。
select进货价
from goods
where商品名称in('打印机','摄像机')
15、查询电话不为空的员工信息。
select*
from employees
where电话is not null
16、查询商品的进货价格并按从大到小排序。
17、按照商品进货数量的升序排序,在同一数量内,将按照进货价的降序排列。select*
from goods
order by数量desc,进货价
18、使用INTO子句创建一个新表。
19、查询财务部的员工人数。
select COUNT(编号)
from employees
where部门='财务部'
go
20、查询商品编号为2的商品的销售数量。select商品编号,SUM(数量)as销售数量from Sell
where商品编号=2
group by商品编号
21、统计各部门的人数。
select部门,人数=COUNT(*)
from employees
group by部门
22、对员工表按性别统计各部门人数。select部门,性别,人数=COUNT(*)
from employees
group by部门,性别
23、统计各部门的男性人数。
select部门,COUNT(*)as男性人数
from employees
where性别='true'
group by部门
24、统计销售总数量。
select SUM(数量)
from sell
go
25、分别统计各员工的销售总数。
select*
from Sell
order by售货员工编号
compute sum(数量)by售货员工编号
26、查询各售货员工的姓名、电话、地址。select distinct姓名,电话,地址
from employees cross join Sell
27、查询是否所有的员工都是进货员工。
28、查询MP3播放器的售出时间。
select a.商品名称,b.售出时间
from goods a join Sell b on a.商品编号=b.商品编号
where商品名称='MP3播放器'
29、查询进货数量最少的商品的销售数量。
select数量
from Sell
where商品编号=
(select商品编号
from goods
where数量=
(select MIN(数量)from goods))
30、有销售记录的员工的基本信息
select*
from employees a,Sell b
where a.编号=b.售货员工编号
31、联合查询进货员工和销售员工。
32、查询进货员工的基本信息。
select*
from employees full join goods on employees.编号=goods.进货员工编号
33、创建一个新视图v1,要求基表选择goods,sell,employees,来源字段为sell表中
的销售编号、商品编号和数量;goods表中的商品名称;employees表中编号和姓名,要求查询采购部的赵飞燕所采购商品的销售情况,程序为:
34、创建一个新视图v2,要求基表选择goods,sell,employees,来源字段为sell表中
的销售编号、商品编号和数量;goods表中的商品名称;employees表中编号和姓名,要求查询销售部的王峰所销售商品的情况,程序为:
35、创建一个新视图v3,要求基表选择goods,sell,,来源字段为sell表中的销售编号、
商品编号、数量和售出时间;goods表中的商品名称、进货价和零售价;再增加一列“该笔销售纯利润”;要求查询该公司2004年10月份商品的销售情况和每一笔销售的纯利润,程序为:
36、修改视图v2,在该视图中增加一个新的限制条件,要求查询王峰所销售的液晶显示器
的销售情况,程序为:
37、查询视图v1的基表中的数据,程序为: