数据表的关联

内关联

SELECT *

FROM A,B

查询 A B 表关联的数据,未加关联条件称为笛卡尔积,生成大量数据,尽量避免出现

内关联,能关联的显示,关联不上的不显示,但数据还在

 

左关联

SELECT *

FROM A t1,B t2

WHERE t1.number = t2.number(+)

t1,t2A B 表的别名

WHERE 后接关联条件,查询 A B 表中 number 值相等的相关联的数据

(+)在右表,为左外关联:以左表为主,主表的数据不会丢失,能关联上的显示,关联不上的为 NULL

(+)在左表,为右外关联:以右表为主,主表的数据不会丢失,能关联上的显示,关联不上的为 NULL

 

以上现在不使用,只做了解,目前关联格式如下

内关联

内关联:能关联的显示,关联不上的不显示,但数据还在

SELECT *

FROM A t1

INNER JOIN B t2

ON t1.id = t2.id

AND t1.name = t2.name

CROSS JOIN C t3

 

INNER JOIN:内关联

ON:后面跟关联条件

多个条件用 AND 连接

多个关联用多个 INNER JOIN ON 

CROSS JOIN:笛卡尔积(尽量避免出现),不用写关联条件,等价于 INNER JOIN ON 后条件为 1=1 的恒成立

 

外关联(左外关联/右外关联/全外关联)

左外关联:以左表为主,主表的数据不会丢失,能关联上的显示,关联不上的为 NULL

右外关联:以右表为主,主表的数据不会丢失,能关联上的显示,关联不上的为 NULL

全外关联:左右两边都为主表,不丢失数据,关联不上的显示为 NULL

SELECT *

FROM A t1

LEFT/RIGHT/FULL JOIN B t2

ON t1.id t2.id

LEFT/RIGHT/FULL JOIN:左外关联/右外关联/全外关联

ON:后面跟关联条件

多个条件用 AND 连接

多个关联用多个 LEFT/RIGHT/FULL JOIN ON 

 

posted @ 2025-06-02 15:08  wwwwxxxx  阅读(20)  评论(0)    收藏  举报