77范文网 - 专业文章范例文档资料分享平台

数据库原理实验讲义(2)

来源:网络收集 时间:2020-04-13 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2)查询工作表Job中参与过项目开发的所有员工编号,要求无重复。 4.使用ORDER BY子句对查询结果进行排序

1)查询雇员表Empl中所有员工的详细信息,结果按员工姓名降序排列。

USE COMPANY GO select * from empl

order by ename desc

2)查询工作表Job中的工作信息,结果按工作天数升序排列。 5.使用LIKE子句进行模糊查询

1)查询所有姓王的员工的编号及姓名,并且以员工编号及员工姓名作为列名。 2)查询雇员表Empl中姓名以“伟”字结尾的员工信息。

USE COMPANY GO select * from empl

where ename like N'%伟'

6.使用聚集函数MIN、MAX进行查询

1)查询雇员表Empl中员工的最低工资,并且列名用“最低工资”表示。

USE COMPANY GO

select MIN(SALARY) AS 最低工资 from empl

2)查询雇员表Empl中员工的最高工资,并且列名用“最高工资”表示。 7.使用聚集函数COUNT进行查询

1)查询雇员表Empl中所有员工的总人数,并且列名用“员工总数”表示。

USE COMPANY GO

select count(ename) AS 员工总人数 from empl

2)查询14号部门的人数,并且列名用“客户中心部人数”表示。 8.使用分组子句GROUP BY与聚集函数MIN、MAX进行查询 1)查询每个部门中年龄最大的员工,显示部门编号和出生日期。

2)分别统计雇员表Empl中各部门员工的最高工资,并且列名分别用“部门编号”及“最高工资”表示。

USE COMPANY GO

select max(salary) as 最高工资,dno as 部门编号 from empl group by dno

having dno='14'or dno='15' or dno='16'

9.使用分组子句GROUP BY与聚集函数SUM、AVG进行查询

1)分别统计雇员表Empl中各部门员工的工资总额,并且列名分别用“部门编号”及“各部门工资总额”表示。

USE COMPANY GO

select sum(salary) as 各部门工资总和,dno as 部门编号 from empl group by dno

having dno='14'or dno='15' or dno='16'

2)分别统计雇员表Empl中各部门员工工资的平均数,并且列名分别用“部门编号”及“各部门工资平均数”表示。

USE COMPANY GO

select avg(salary) as 各部门工资平均数,dno as 部门编号 from empl group by dno

having dno='14'or dno='15' or dno='16'

3)

10.使用分组子句GROUP BY与聚集函数COUNT进行查询

1)统计员工人数多于4人的部门信息,并且列名分别用“部门编号”及“员工人数”表示。

USE COMPANY GO

select count(dno) as 员工人数,dno as 部门编号 from empl group by dno

having dno='14'or dno='15' or dno='16'

USE COMPANY GO

select count(dno) as 员工人数,dno as 部门编号 from empl group by dno

having count(dno)>='4'

2)分别统计工作表Job中各项目的参与开发的员工人数,并且列名分别用“项目编号”及“员工人数”表示。

实验3 数据库的多表连接和子查询

一、 实验目的

本实验的目的是使学生加深对SQL和SQL语言的查询语句的理解。熟练掌握数据库的多表连接查询和子查询。 二、 实验时数 2学时 三、 实验内容 ㈠多表连接查询:

1.对两张数据表使用内连接进行查询

1)查询姓名为“王一伟”的员工所在部门的名称,并且列名用汉字表示。

use company

select depa.dname 部门名称 from empl inner join depa on empl.dno=depa.dno where empl.ename='王一伟'

2)查询编号为“1002”的员工姓名及该员工所在部门的名称,并且列名用汉字表示。

select a.ename 员工姓名, b.dname 部门名称 from empl a join depa b on a.dno=b.dno where a.eno='1002'

2.对多张数据表使用内连接进行查询

1)查询姓名为“陈晨”的员工参与过的所有项目的名称,并且列名用汉字表示。

use company go

select empl.ename 姓名, proj.pname 部门名称 from empl inner join job on empl.eno=job.eno inner join proj on job.pno=proj.pno where empl.ename='陈晨'

2)查询编号为“1202”的员工姓名及该员工参与过的所有项目的名称,并且列名用汉字表示。

select empl.ename 员工姓名, proj.pname 项目名称 from empl join job

on empl.eno=job.eno join proj

on job.pno=proj.pno where empl.eno='1020'

3.对两张数据表使用左连接进行查询

1)使用左连接查询所有员工的基本信息及参与项目开发情况,如果某员工参与过项目开发,则列出该员工所参与的所有项目的编号,否则该项以空值表示。

use company go

select empl.*,job.pno

from empl left outer join job on empl.eno=job.eno

2)使用左连接查询所有员工的基本信息及所在部门名称,如果某员工尚未分配到任何部门,则该员工的部门名称项以空值表示。 4.对两张数据表使用右连接进行查询

1)使用右连接查询所有员工的基本信息及参与项目开发情况,如果某员工参与过项目开发,则列出该员工所参与的所有项目的编号,否则该项以空值表示。

use company go

select empl.*,job.pno

from job right outer join empl on empl.eno=job.eno

2)使用右连接查询所有员工的基本信息及所在部门名称,如果某员工尚未分配到任何部门,则该员工的部门名称项以空值表示。 ㈡子查询: 1.多表单值子查询

1)查询编号为1001的员工的部门名。

use company go

select dname from depa

where dno=(select dno from empl

where eno='1001')

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数据库原理实验讲义(2)在线全文阅读。

数据库原理实验讲义(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/936497.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: