1.交叉连接
select * from 表1 as 别名1 cross join 表2 as 别名2
说明1:
不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的 行数等于两个表行数的乘积
2.内连接
select * from 表1 as 别名1 inner join 表2 as 别名2 on 别名1.字段=别名2.字段(表1中与表2中的关联字段)
说明2:
本质上就是去掉交叉连接中冗余的数据(也就是不符合实际条件的数据)
3.外连接-左外连接
select * from 表1 as 别名1 left join 表2 as 别名2 on 别名1.字段=别名2.字段(表1中与表2中的关联字段)
说明3:
返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值
4.外连接-右外连接
select * from 表1 as 别名1 right join 表2 as 别名2 on 别名1.字段=别名2.字段(表1中与表2中的关联字段)
说明4:
返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。
5.全连接
select * from 表1 as 别名1 full join 表2 as 别名2 on 别名1.字段=别名2.字段(表1中与表2中的关联字段)
说明5:
返回左表和右表中的所有行。当某行在另一表中没有匹配行,则另一表中的列返回空值。