1.内连接
FEOM 表名1 [INNER]join 表名2 ON 连接表达式
从表1和表2的笛卡尔积中,选中符合连接条件的数据行;如果数据行无法满足连接条件,
则将其丢弃。内连接消除了于另一搞表中不匹配的数据行。
2.外连接
外连接返回FROM子句中指定的至少一个表(或视图)中的所有行(不包含ON之后的连接条件)
,只要这些行符合任何人WHERE选择后者HAVING限定条件
外连接又分为左外连接。右外连接和全外连接
1.左外连接对连接中左边的表不加限制;右外连接怼连接中的右边的表不加限制;全外连接对
两个表都不加限制,两个表中所有行都会包括在结果集中
-------------------------------------------------------------
1. 左外连接
FEOM 表名1 LEFT[OUTER]JOIN 表名2 ON 连接表达式
连接结果保留表1没形成连接的行,表2相应的各列为NULL值
(选没选课)
-------------------------------------------------------------
2.右外连接
FROM 表名1 RIGHT[OUTER] JOIN 表名2 ON 连接表达式
连接结果保留表2没形成连接的行,表1相应的列外NULL值
-------------------------------------------------------------
3.全外连接
FROM 表名1 FULL [outer] JOIN 表名2 ON 连接表达式
连接结果保留表1没形成的元组,表2相应的列为NULL值:
连接结果也保留表2没形成连接的元组,表1相应的列为NULL值
----------------------------------------------------------------
3.自连接(让我想起了自交。嘿嘿)
FROM 表名1 别名1 JOIN 表名1 别名2 ON 连接表达式
表可以通过自连接实现自身连接运算。自连接可以看作是“一张表的两个副本之间进行的连接””
在自然连接中,必须为表指定两个不同的别名,使之在逻辑上成为两张表
4.交叉连接
FROM 表名1 CROSS JOIN 表名2
或FROM 表名1,表名2
两个表进行笛卡尔积计算,结果集的行数等于表1的行数乘以表2的行数
(通常与WHERE子句使用)
5.多表连接
FROM 表名1 JOIN ON 连接表达式
JOIN 表名3 ON 连接表达式[,......., n]
(最多可以连接64个表,通常为8-10个)
个人博客地址http://huluxia.fun/