文章目录 1. 概述2. 内连接3. 外连接4. 自连接5. 联合查询-union,union all6. 子查询 1. 概述 在项目开发中,在进行数据库表结构设计是,
在项目开发中,在进行数据库表结构设计是,会根据业务需求和业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种
多表查询指从多张表中查询数据(就会出现迪卡尔积现象),在多表查询时需要消除无效的笛卡尔积。多表查询主要的分类如下:
内连接查询的是两张表交集的部分
Select 字段列表 from 表1,表2 Where 条件...;
– 显示内连接
Select 字段列表 From 表1 [Inner] Join 表2 On 连接条件....;
查询左表的所有数据,包含表1和表2交集部分的数据
Select 字段列表 From 表1 Left [outer] Join 表2 On 条件...;
查询右表的所有数据,包含表1和表2交集部分的数据
Select 字段列表 From 表1 Right [outer] Join 表2 On 条件...;
自连接的查询可以是内连接查询,也可以是外连接查询
Select 字段列表 From 表1 别名A Join 表1 别名B On 条件...;
对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集
Select 字段列表 From 表A ...Union[All]Select 字段列表 From 表B....;
对于联合查询的多张表的列数必须保持一致,字段类型也需要保持一致
union all会将全部数据直接合并在一起,union会对合并之后的数据去重
sql 语句中嵌套Select语句,称为嵌套查询,又称子查询
Select * from t1 where column1=(select column1 from t2);
子查询外部的语句可以是增删改查的任何语句,内部职能是查询语句
根据子查询结果不同,分为:
根据子查询的位置,分为Where
之后、From
之后、Select
之后
子查询的结果是单个值(数字、字符串、日期等),最简单的形式,这种查询称为标量子查询
常见的操作函数>
<
=
>=
<=
子查询结果是一列(可以是多行),这种查询称为列子查询
常见的操作符
操作符 | 描述 |
---|---|
IN | 在指定的集合范围中,多选1 |
NOT IN | 不在指定的集合范围之内 |
ANY | 子查询返回列表中,有任意一个满足即可 |
SOME | 与ANY等同 |
ALL | 子查询返回列表的所有值都必须满足 |
子查询返回的结果是一行(可以是多列),这种查询称为行子查询
常见的操作符:=
<>
IN
NOT IN
子查询返回的结果是多行多列,这种子查询称为表子查询
来源地址:https://blog.csdn.net/qq_43456605/article/details/132621808
--结束END--
本文标题: Mysql多表操作
本文链接: https://lsjlt.com/news/394863.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0