当前位置:
文档之家› 项目四公司管理数据库系统的数据查询
项目四公司管理数据库系统的数据查询
为了使查询的结果更加友好,可以改变列的标题,即指定列的别名。已知在employee表中有雇员的“姓名”和“薪水”字段,但任务要求显示结构为“雇员的姓名”和“雇员的酎金”,可以用AS引导给出列的别名。查询语句如下:
SELECT姓名AS雇员的姓名,薪水AS雇员的酬金
FROMemployee
(四)按照任务4列出所有薪水超过的3000元的雇员的信息。
项目四公司管理数据库系统的数据查询
一、教学目标
终极目标:能根据需要灵活、快速地查询公司管理系统数据库的数据
促成目标:
1.会在一个数据表中实现数据的简单查询
2.会同时在多个数据表中实现数据的复合查询
3.会实现分组查询
4.会对查询结果集排序
5.会利用库函数进行数据统计
二、工作任务
根据需要灵活快速地查询公司管理数据库系统的数据
1.查询所有雇员的信息,要求输出的结果格式如表4-1所示。
表4-1雇员的信息表
姓名
性别
出生年月
雇佣日期
特长
薪水
2.查询所有'男'雇员的信息。
3.按照如表4-2所示的格式,列出所有雇员的姓名和薪水。
表4-2雇员的姓名和薪水表
雇员的姓名
雇员的酬金
4.查询所有薪水超过3000元的雇员的信息。
5.查询所有薪水在2000元至3000元之间的雇员的姓名和雇佣日期,并按雇佣日期的先后排列。
USE companyinfo
在查询分析器窗口中输入以下查询语句
SELECT姓名,性别,出生年月,雇佣日期,特长,薪水
FROM employee
GO
2。执行查询语句方法。
(二)按照任务2查询所有'男'雇员的信息。
查询语句如下:
SELECT *
FROM employee
WHERE性别='男'
(三)按照任务3规定的格式,列出所有雇员的姓名和薪水。
FROM <表名或视图名>[,… <表名或视图名>]
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [HAVING <表达式> ] ]
[ ORDER BY <列名2> [ ASC | DESC ] ]
其中,包含子句SELECT,INTO,FROM,WHERE,GROUP BY,HAVING,ORDER BY等,每个子句都有各自的用法和功能。
USE companyinfo
GO
SELECT姓名,特长
FROMemployee
GO
3
【例 4.4】查询每个人的姓名和薪水降低30%后的信息。有三种方法:
(1)采用符合ANSI规则的标准方法,在列表达式后面给出列名。相应的命令如下:
USEcompanyinfo
GO
SELECT姓名,薪水'原薪水' ,薪水-薪水*0.3'现薪水'
(二)SELECT子句
SELECT
SELECT [ ALL | DISTINCT ] [ TOP N [ PERCENT ] ]
FROM
其中参数的含义如下:
ALL:指定在结果集中可以显示重复行。ALL 是默认设置。
DISTINCT:指定在结果集中只能显示惟一行,即表示输出无重复的所有记。
TOP N[PERCENT]:指定只从查询结果集中输出前N行。如果还指定了 PERCENT,则只从结果集中输出前百分之 N 行。
ORDERBY雇佣日期
(六)按照任务6统计各种特长的雇员人数。
查询语句如下:
SELECT特长,count(*)人数
FROMemployee
GROUP BY特长
执行结果如下:
特长人数
------------------------------ -----------
唱歌2
二胡2
钢琴2
古筝2
会计1
计算机8
书法4
跳舞2
武术1
演讲1
音乐2
游泳1
(所影响的行数为12行)
(七)列出所有姓'章'的雇员的信息。
查询语句如下:
SELECT *
FROM employee
WHERE姓名LIKE '章%'
四、相关知识
使用数据库和数据表的主要目的是存储数据,以便在需要时进行检索、统计或组织输出,通过Transact-SQL的SELECT语句可以从表或视图中迅速、方便地检索数据。在众多的Transact-SQL语句中,SELECT语句是使用频率最高的一个。
1.查询所有的列
在SELECT子句中,通配符“*”表示输出指定的表或视图中所有的列。
【例 4.
USE companyinfo
GO
SELECT*
FROMcustomer
GO
2.查询特定的列
【例 4.
USE companyinfo
GO
SELECT公司名称,联系人姓名,地址
FROM customer
GO
【例 4.
模块1公司管理数据库系统的简单查询
一、教学目标
1.准确理解Transact-SQL查询语句的基本结构
2.能根据需要灵活使用查询语句的各子句
二、工作任务
公司所有雇员的信息都存储在companyinfo数据库的employee表中,该表中包含了雇员的雇员ID、姓名、性别、出生年月、雇佣日期、特长、薪水7个字段和相应的记录,请利用Transact-SQL的SELECT语句实现下列查询操作。
查询的最基本方式是使用SELECT语句,按照用户给定的条件从SQL Server2000数据库中取出数据,并将数据通过一个或多个结果集返回给用户。
(一)SELECT语句结构
SELECT 语句的主要的子句可归纳如下:
SELECT [ALL| DISTINCT] <目标表达式>[,…<目标表达式>]
[ INTO <新表名>]
FROMemployee
GO
(2)用“=”来连接列表达式。相应的Байду номын сангаас令如下:
USEcompanyinfo
GO
SELECT姓名,'原薪水'=薪水, '现薪水'=薪水-薪水*0.3
6.统计各种特长的雇员人数。
7.查询所有姓'章'的雇员的信息。
三、相关实践知识
(一)按照任务1的要求查询公司所有雇员的信息。
操作步骤如下:
1.连接companyinfo数据库,有以下两种方法:
从“查询分析器”窗口的工具栏的下拉列表中选中公司管理数据库companyinfo。
在查询分析器窗口中输入如下命令,并运行。
查询语句如下:
SELECT *
FROMemployee
WHERE薪水>=3000
(五)按照任务5列出所有薪水在2000元至3000元之间的雇员的姓名、雇佣日期和薪水,并按雇佣日期的先后排列。
查询语句如下:
SELECT姓名,雇佣日期,薪水
FROM employee
WHERE薪水between 2000 and 3000