1、交叉连接CROSS JOIN
如果不带条件子句,交叉连接将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积;
select *from 表名 cross join 表名 on 条件表达式
2、内连接 INNER JOIN
内连接仅返回那些满足连接条件的数据行。在内连接中,使用INNER JOIN连接运算符和ON关键字指定连接条件,如果没有指定连接条件,则和交叉连接的结果一样。在SQL语句中,如果JOIN关键字前面没有明确指定连接类型,那么默认为内连接。
select *from 表名inner join 表名 on 条件表达式
3、外连接 OUTER JOIN
在外连接中,不仅包括那些满足条件的数据,而且某些表不满足条件的数据也会显示在结果集中。也就是说,外连接只限制其中一个表的数据,而不限制另外一个表中的数据。外连接又分左外部连接、右外部连接、全外部连接:
1)左外部连接 LEFT OUTER JOIN
左外部连接包括了左表中全部不满足条件的数据,对应另外一个表中的数据为NULL。
select *from 表名 left outer join 表名 on 条件表达式
2)右外部连接 RIGHT OUTER JOIN
右外部连接包括了右表中全部不满足条件的数据,对应另外一个表中的数据为NULL。
select *from 表名 right outer join 表名 on 条件表达式
3)全外部连接 FULL OUTER JOIN
全外部连接包括了左表和右表中所有不满足条件的数据,这些数据在另外一个表中的对应值是NULL。
select *from 表名 full outer join 表名 on 条件表达式