数据表的关联
内关联
SELECT *
FROM A,B
查询 A B 表关联的数据,未加关联条件称为笛卡尔积,生成大量数据,尽量避免出现
内关联,能关联的显示,关联不上的不显示,但数据还在
左关联
SELECT *
FROM A t1,B t2
WHERE t1.number = t2.number(+)
t1,t2 为 A 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

浙公网安备 33010602011771号