一.内连接:结果仅包含连接条件的两表中的行(如果用vn图就是两图的交集)
表A inner join 表B
二.外连接:结果包含符合条件的行,同时包含不符合条件的行
1.左外连接:左表全部行+右表匹配的行,如果左表中某行没有匹配的行,则右表该行显示null(表A left join 表B)
2.右外连接:与左外连接相反(表A right join 表B)
3.全外连接:不管匹不匹配,全部显示出来,左表在右表没有的显示NULL,右表在左表没有显示NULL
MySQL数据库不支持全外连接,因此转换了一种语法,原本写法:select * from student full join score on student.sno=score.sno
三.交叉连接
1.返回左表中所有行与右表中所有行的组合,也称笛卡尔积(避免出现笛卡尔积)
笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合,上图中两个表连接即为笛卡尔积(交叉连接)