mysql之多表查询

1.链接查询

1.1内连接查询

隐式内连接

SELECT 字段列表 FROM 表1,表2 WHERE 条件...;

显式内连接

SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 链接条件...;

1.2外连接查询

左外连接查询

SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...;

右外连接查询

SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件...;

注意

左外链接查询会包含表1中的全部数据,右外连接会包含表2的全部数据

1.3自链接查询

SELECT 字段列表 FROM 表A 别名A JOIN 表B 别名B ON 条件...;

注意

自链接查询可以是内链接也可以是外链接,语法和之前一样

2.联合查询

SELECT 字段列表 FROM 表A...

UNION [ALL]

SELECT 字段列表 FROM 表B...;

注意

·对于联合查询的多张表的列数和字段类型必须一致

·union all会直接将两次查询结果合并,union会对合并之后的结果去重

3.子查询/嵌套查询

SELECT * FROM 表1 WHERE 字段1=(SELECT 字段1 FROM 表2);

等号后的查询即为子查询

3.1标量子查询(子查询结果为单个值)

常用操作符:=  <>  >  >=  <  <=

3.2列子查询(子查询结果为一列)

常用操作符

3.3行子查询(子查询结果为一行)

常用操作符:=  <>  IN   NOT IN

注意

使用时可以用(字段1,字段2)将两个字段数据变成一个数据

如:SELECT * FROM A WHERE (a,b)=(SELECT a,b FROM B WHERE...);

3.4表子查询(子查询结果为多行多列)

常用操作符:IN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值