mysql 查询操作
mysql 查询操作
初始化环境
创建数据库,
|  |  | 
创建用户表

|  |  | 
创建部门表

|  |  | 
查看结果
|  |  | 
单表查询
条件查询(where)
|  |  | 
查询排序 (order by)
|  |  | 
限制结果数量 (limit)
|  |  | 
分组(group by) 与聚合函数
|  |  | 
分组条件 (having)
|  |  | 
联表查询
为了展示 联表查询 的差异, 增加 depart 字段产生数据差。
|  |  | 
LEFT JOIN .. ON 与 RIGHT JOIN .. ON

left/right join .. on 本质上是一样的, 将多张表 联结 成一张 虚拟表 进行数据查询。
- left / right用于相对位置上的 主表 。 主表将展示全部数据, 从表 多的数据不展示 , 少的数据以 NULL站位
- on指定 **联结 ** 条件。
|  |  | 

|  |  | 

交集 inner join .. on
inner join 展示交集, 双方都有的。

|  |  | 

并集 full join .. on
展示所有数据

|  |  | 
注意: mysql 5.7 中不支持
full join .. on。 可以使用union + left/right join实现
|  |  | 

笛卡尔积 self jion 自联结
自联结没有关键字, 将多张表以 逗号 , 分隔, 结果是一张 笛卡尔积 的超级大表。
|  |  | 
联表查询选择字段
查询部分字段时, 需要使用 table1.columnA, table2.columnB 的方式 显示 指定要查明的字段。
|  |  | 

联表查询条件过滤
联表就是产生一张虚拟表, 对虚拟表的所有 条件、分组 都与普通表一样。
|  |  | 

查询结果组合 Union
union 不是联结原始表, 而是将多个 结果 组合成一张表。
- 要求 多个查询结果的 字段数 一样
- 不要求 多个查询结果字段对应的类型一样。
|  |  | 

- 原文链接:https://typonotes.com/posts/2021/12/07/mysql-select-operation/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生或 订阅网站 https://typonotes.com/ 。
- 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。


