2020-08-07

SQL关联查询

从2张或多张表中,取出有关联的数据

关联查询一共有几种情况:

内连接:INNER JOIN 、CROSS JOIN

(1)形式一

select 字段列表

from A表 inner join B表

on 关联条件

【where 其他筛选条件】

说明:如果不写关联条件,会出现一种现象:笛卡尔积

关联条件的个数 = n - 1,n是几张表关联

on只能和join一起用

(2) 形式二

select 字段列表

from A表 , B表

where 关联条件 【and 其他筛选条件】

外连接:左外连接(LEFT OUTER JOIN)

左连接:

第一种结果:A

select 字段列表

from A表 left join B表

on 关联条件

第二种结果:A - A∩B

select 字段列表

from A表 left join B表

on 关联条件

where 从表的关联字段 is null

右外连接(RIGHT OUTER JOIN)

第一种结果:B

select 字段列表

from A表 right join B表

on 关联条件

第二种结果:B - A∩B

select 字段列表

from A表 right join B表

on 关联条件

where 从表的关联字段 is null

全外连接(FULL OUTER JOIN)

使用union实现全连接的效果

(1)A ∪ B

select 字段列表

from A表 left join B表

on 关联条件

union

select 字段列表

from A表 right join B表

on 关联条件

(3)A ∪ B - A ∩ B

select 字段列表

from A表 left join B表

on 关联条件

where 从表的关联字段 is null

union

select 字段列表

from A表 right join B表

on 关联条件

where 从表的关联字段 is null

自连接:当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

SQL关联查询c2c账号基础实操解读eori跨境分享:高客单价(超过100美金)产品的玩法亚马逊平台佣金调整,6月5日开始生效!实战分享:如何利用Quora引爆流量?西冲两日自助游,求路线安排?西冲在哪里?西冲沙滩3号收费站服务项目及价格?

No comments:

Post a Comment