实验三 综合查询

实验三 综合查询

一、目的和要求
(1)学习SQL连接查询,掌握查询方法;
(2)学习SQL嵌套查询,掌握查询方法
(3)进一步熟悉SQL查询,掌握查询方法
(4)掌握数据库定义语言。
二、实验设备与准备
计算机:CPU四核i7 6700处理器;内存8G;SATA硬盘2TB硬盘;Intel芯片主板;集成声卡、千兆网卡、显卡;20寸液晶显示器。
环境:Mysql、Sql Server2008、Oracle等
三、实验内容
3.1 实验内容一
3.1.1实验题目
查询每一个员工的姓名和部门名称
3.1.2实验步骤
#查询每一个员工的姓名和部门名称

select name,departname
from deparments,employees
where deparments.deparmentid = employees.deparmentid;

3.1.3 实验结果(截图)
在这里插入图片描述

3.1.4 实验结论
利用连接查询,通过employees表和departments表得到部门每一个员工的姓名和部门。
3.2 实验内容二
3.2.1实验题目
查询王林员工所在的部门名称
3.2.2实验步骤
#查询王林员工所在的部门名称

select name,departname
from deparments,employees
where name = '王林' and deparments.deparmentid = employees.deparmentid;

3.2.3 实验结果(截图)
在这里插入图片描述

3.2.4 实验结论
利用等值查询,讲限制条件增加到两个从而得到王林所在的部门。
3.3 实验内容三
3.3.1实验题目
查询和王林一个部门的员工姓名
3.3.2实验步骤
#查询和王林一个部门的员工姓名

select name
from employees
where DeparmentID in
(
select deparmentid 
from employees
where name = '王林');

3.3.3 实验结果(截图)
在这里插入图片描述

3.3.4 实验结论
利用嵌套查询,想查出姓名,再根据一个限制条件的到结果
3.4 实验内容四
3.4.1实验题目
统计各部门的人数
3.4.2实验步骤
#统计各个部门的人数

select departname,count(*)
from employees,deparments
where deparments.deparmentid = employees.deparmentid
group by(departname);

3.4.3 实验结果(截图)
在这里插入图片描述

3.4.4 实验结论
用group by对departname进行分组再利用count函数进行统计,得到想要的数据。
3.5 实验内容五
3.5.1实验题目
统计各部门男女员工数
3.5.2实验步骤#统计各部门男女员工数

select departname , sex,count(sex)
from  deparments,employees
where employees.deparmentid = deparments.deparmentid
group by departname,sex;

3.5.3 实验结果(截图)
在这里插入图片描述

3.5.4 实验结论
用group by对sex进行分组再利用count函数进行统计,得到想要的数据。
3.6 实验内容六
3.6.1实验题目
查询市场部员工的平均工资
3.6.2 实验步骤
#查询市场部员工的平均工资

select avg(income) 平均工资
from salary,deparments,employees
where salary.employeeid = employees.employeeid and departname = '市场部' and deparments.deparmentid = employees.deparmentid;

3.6.3 实验结果
在这里插入图片描述

3.6.4 实验结论
用到了连接查询,将三个表连接起来
3.7 实验内容七
3.7.1实验题目
查询超过2个员工的部门名称和员工数量
3.7.2 实验步骤
#查询超过2个员工的部门名称和员工数量

select departname, count(departname)
from deparments,employees
where deparments.deparmentid  = employees.deparmentid
group by departname
having count(departname) > 2;

3.7.3 实验结果
在这里插入图片描述

3.7.4 实验结论
用到连接查询再用having子句进行限制
3.8 实验内容八
3.8.1实验题目
将员工的情况按收入由低到高排列
3.8.2 实验步骤
#将员工的情况按收入由低到高排列

select *
from deparments,employees left outer join  salary on(employees.employeeid = salary.employeeid)
where deparments.deparmentid  = employees.deparmentid 
order by income;

3.8.3 实验结果
在这里插入图片描述

3.8.4 实验结论
用到外连接方式将salary和employees表进行连接,再用order by 子句对income进行限制。
四 实验感想
通过本次实验,我对查询有了更深的了解,也对关系有了进一步的了解,专门的关系运算包括选择、投影、连接、除运算等,也对等值连接、外连接有了更深的了解,并且学会了应用,对之前学的理论知识有了更深的了解,加深了印象。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半夏风情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值