当前位置:文档之家› 实验2 数据库的单表查询

实验2 数据库的单表查询

实验2 数据库的单表查询、分组查询与聚集函数的使用
一、实验目的
本实验的目的是使学生熟悉SQL Server Management Studio的使用方法。

加深对SQL语言的查询语句的理解。

熟练掌握数据库的单表查询(包括投影、选择条件表达,数据排序,模糊查询等), 熟练掌握数据库的分组、统计、计算和集合的操作方法。

二、实验时数2学时
三、实验内容
1.简单的SELECT查询
1)查询雇员表Empl中所有员工的详细信息,并且列名用汉字表示。

select*from EMPL
select ENO 员工编号, ENAME 员工姓名, BIRTHDATE 出生日期, SALARY 工资,
DNO 所在部门编号from EMPL;
2)查询项目表Proj中所有项目的详细信息,并且列名用汉字表示。

select PNO 项目编号,PNAME 项目名称from PROJ;
2.使用WHERE子句进行查询
1)查询雇员表Empl中李强的员工编号。

select ENO from EMPL
where ENAME='李强'; 注没有李强的信息
2)查询项目表Proj中项目编号为“101”的项目名称。

select*from EMPL
select PNAME from PROJ
where PNO='101'; 没有101的信息
3.使用DISTINCT关键字去掉重复行
1)查询雇员表Empl中出现的所有部门编号,要求无重复。

select distinct(DNO)from EMPL;
2)查询工作表Job中参与过项目开发的所有员工编号,要求无重复。

SELECT DISTINCT(ENO)FROM JOB WHERE DAYS>0;
4.使用ORDER BY子句对查询结果进行排序
1)查询雇员表Empl中所有员工的详细信息,结果按员工姓名降序排列。

SELECT*FROM EMPL ORDER BY ENAME DESC;
2)查询工作表Job中的工作信息,结果按工作天数升序排列。

SELECT*FROM JOB ORDER BY DAYS ASC;
5.使用LIKE子句进行模糊查询
1)查询所有姓王的员工的编号及姓名,并且以员工编号及员工姓名作为列名。

SELECT ENO 员工编号,ENAME 员工姓名FROM EMPL WHERE ENAME LIKE'王%';
2)查询雇员表Empl中姓名以“伟”字结尾的员工信息。

SELECT*FROM EMPL WHERE ENAME LIKE'%伟';
6.使用聚集函数MIN、MAX进行查询
1)查询雇员表Empl中员工的最低工资,并且列名用“最低工资”表示。

select min(SALARY)AS最低工资from EMPL;
2)查询雇员表Empl中员工的最高工资,并且列名用“最高工资”表示。

select MAX(SALARY)AS最高工资from EMPL;
7.使用聚集函数COUNT进行查询
1)查询雇员表Empl中所有员工的总人数,并且列名用“员工总数”表示。

select count(ENO)AS员工总数from EMPL;
2)查询14号部门的人数,并且列名用“客户中心部人数”表示。

select COUNT(ENO)AS客户中心人数from EMPL WHERE DNO='14';
8.使用分组子句GROUP BY与聚集函数MIN、MAX进行查询
1)查询每个部门中年龄最大的员工,显示部门编号和出生日期。

select DNO AS部门编号,max(BIRTHDATE)as出生日期from EMPL GROUP BY DNO; 2)分别统计雇员表Empl中各部门员工的最高工资,并且列名分别用“部门编号”及“最高工资”表示。

SELECT DNO AS部门编号,MAX(SALARY)AS最高工资from EMPL GROUP BY DNO; 9.使用分组子句GROUP BY与聚集函数SUM、AVG进行查询
1)分别统计雇员表Empl中各部门员工的工资总额,并且列名分别用“部门编号”及“各部门工资总额”表示。

SELECT DNO AS部门编号,SUM(SALARY)AS各部门工资总额from EMPL GROUP BY DNO;
2)分别统计雇员表Empl中各部门员工工资的平均数,并且列名分别用“部门编号”及“各部门工资平均数”表示。

SELECT DNO AS部门编号,AVG(SALARY)AS各部门工资平均数from EMPL GROUP BY DNO;
10.使用分组子句GROUP BY与聚集函数COUNT进行查询
1)统计员工人数多于4人的部门信息,并且列名分别用“部门编号”及“员工人数”表示。

SELECT DNO AS部门编号,count(ENO)AS员工人数from EMPL WHERE ENO>4 GROUP BY DNO;
2)分别统计工作表Job中各项目的参与开发的员工人数,并且列名分别用“项目编号”及“员工人数”表示。

SELECT PNO AS项目编号,COUNT(ENO)AS员工人数from JOB group by PNO;。

相关主题