左外连接
左外连接简称左连接,是指在两个表进行连接时,返回左表的全部记录及右表中符合条件的记录,右表没有匹配的记录用 null 补全。使用左连接的 SQL 语法如下:
select * from table1 t1 left join table2 t2 on(t1.column1 = t2.column2)
其中 left join
是 left outer join
的缩写。左连接的结果如下图阴影部分所示。
右外连接
右外连接简称右连接,右连接刚好和左连接相反,返回右表的全部记录及左表中符合条件的记录,左表没有匹配的记录用 null 补全。使用右连接的 SQL 语法如下:
select * from table1 t1 right join table2 t2 on(t1.column1 = t2.column2);
笛卡尔积
笛卡尔积也叫交叉连接,原理就是一张表中的每一条记录都要和另一张表中的所有记录进行连接。如果两张表分别有 n 和 m 条记录,进行笛卡尔积的结果有 n*m 条记录。
笛卡尔积使用 join 来连接,基本语法如下:
select * from table1 join table2;
警告:如果两个表关联查询,没有设置查询条件这返回两个表格的条目乘积,虽然sql语句不会报错但是返回的数据没有意义