您的位置:首页 > 教育 > 锐评 > MySQL复合查询

MySQL复合查询

2024/10/6 10:26:00 来源:https://blog.csdn.net/JK01WYX/article/details/141361269  浏览:    关键词:MySQL复合查询

前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。


mysql 万物皆表

文章目录

  • 1. 子查询与查询回顾
      • 员工表:
      • 子查询:
      • every derived table must have its own alias
      • in
      • all
      • any
  • 2. 多表笛卡尔积
      • 部门表:
      • 笛卡尔积
  • 3. 自连接
  • 4. 合并查询
      • union
      • union all

1. 子查询与查询回顾

员工表:

在这里插入图片描述

子查询:

select 里面可以嵌套 select

找工资最高的人的信息: 工资最高是多少 -> 谁的工资是这个工资
在这里插入图片描述

找某个员工领导的工号: 这个员工领导是谁 -> 这个人工号是多少

在这里插入图片描述

回顾聚合:

在这里插入图片描述

every derived table must have its own alias

“每一个获得的表必须有它自己的别名”

在做多表查询时,子查询必须指定名称。

在这里插入图片描述

in

select * from 表 where 列名 in (select ...);

试着分析下如下语句:

在这里插入图片描述

其实是这样子的:

select 出的表重命名后与 dept表 做了笛卡尔积。

在这里插入图片描述

all

all 和 any 用法同 in

any

这里任意其实是存在符合条件的即可的意思。


2. 多表笛卡尔积

部门表:

我们对员工表和部门表做整合。

在这里插入图片描述

笛卡尔积

将两张表数据穷举组合,我们称之为笛卡尔积。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


3. 自连接

一个表可以跟自己笛卡尔积吗?可以。

在这里插入图片描述

子查询的第二个示例,也可以用自连接的方式查找:

在这里插入图片描述


4. 合并查询

合并多个select的执行结果

union

该操作符用于取得两个结果集的并集

会去掉结果集中的重复行

在这里插入图片描述

union all

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com