🏠 大家好,我是 兔7 ,一位努力学习C++的博主~💬
🍑 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🚀 如有不懂,可以随时向我提问,我会全力讲解~
🔥 如果感觉博主的文章还不错的话,希望大家关注、点赞、收藏三连支持一下博主哦~!
🔥 你们的支持是我创作的动力!
🧸 我相信现在的努力的艰辛,都是为以后的美好最好的见证!
🧸 人的心态决定姿态!
🚀 本文章CSDN首发!
目录
0.前言
如何进行查询
1. 基本查询
2. 多表查询
3. 自连接
4. 子查询
4.1 单行子查询
4.2 多行子查询
4.3 多列子查询
4.4 在from子句中使用子查询
4.5 合并查询
4.5.1 union
4.5.2 union all
0.前言
此博客为博主以后复习的资料,所以大家放心学习,总结的很全面,每段代码都给大家发了出来,大家如果有疑问可以尝试去调试。
大家一定要认真看图,图里的文字都是精华,好多的细节都在图中展示、写出来了,所以大家一定要仔细哦~
感谢大家对我的支持,感谢大家的喜欢, 兔7 祝大家在学习的路上一路顺利,生活的路上顺心顺意~!
如何进行查询
当我们要查询的数据在两个或两个以上的表中出现时可以使用多表查询。
当我们要查询的数据在表中没有,需要我们通过使用聚合函数才能完成,我们使用子查询,也就是将查询出来的结果当作一个表链接其它的表进行多表查询。
在子查询中,我们可以将查询出来的结果放在from中当作一个表,也可以将查询出来的结果放在where当作条件(当单行数据时直接可以用=,当多行可以用IN。当多列时用括号括起来进行对应)。
1. 基本查询
查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J
按照部门号升序而雇员的工资降序排序
使用年薪进行降序排序
显示工资最高的员工的名字和工作岗位
显示工资高于平均工资的员工信息
显示每个部门的平均工资和最高工资
显示平均工资低于2000的部门号和它的平均工资
显示每种岗位的雇员总数,平均工资
2. 多表查询
显示雇员名、雇员工资以及所在部门的名字
显示部门号为10的部门名,员工名和工资
显示各个员工的姓名,工资,及工资级别
3. 自连接
自连接是指在同一张表连接查询。
使用的子查询
使用多表查询(自查询)
4. 子查询
4.1 单行子查询
返回一行记录的子查询。
显示SMITH同一部门的员工
4.2 多行子查询
返回多行记录的子查询。
in关键字;查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的
all关键字;显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号
any关键字;显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)
4.3 多列子查询
单行子查询是指子查询只返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句
查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人
4.4 在from子句中使用子查询
子查询语句出现在from子句中。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用。
显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资
查找每个部门工资最高的人的姓名、工资、部门、最高工资
显示每个部门的信息(部门名,编号,地址)和人员数量
- 使用子查询
- 使用多表
4.5 合并查询
在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all
4.5.1 union
该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行
将工资大于2500或职位是MANAGER的人找出来
4.5.2 union all
该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行。
将工资大于25000或职位是MANAGER的人找出来
如上就是 复合查询 的所有知识,如果大家喜欢看此文章并且有收获,可以支持下 兔7 ,给 兔7 三连加关注,你的关注是对我最大的鼓励,也是我的创作动力~!
再次感谢大家观看,感谢大家支持!