常见SQL操作总结

常见SQL操作总结

Join的用法

几种常见的连接(内、左、右、全、交叉)

Inner join

常见SQL操作总结

常见SQL操作总结

 

1.概念:内联接是用比较运算符比较要联接列的值的联接
2.关键字:join 或 inner join
3.sql语句

select * from table1 join table2 on table1.id=table2.id

4.查询结果

常见SQL操作总结

Left join

常见SQL操作总结

常见SQL操作总结

1.左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。

2.sql语句

select * from table1 left join table2 on table1.id=table2.id

3.查询结果(要注意:左连接有可能会扩散,比如说“小红”这条数据,右连接也会和左连接有同样的问题)

 

常见SQL操作总结

Right join

常见SQL操作总结

常见SQL操作总结

(1)右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

(2)sql语句

select * from table1 right join table2 on table1.id=table2.id

(3)查询结果

常见SQL操作总结

 

Full join

常见SQL操作总结

常见SQL操作总结

(1)完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

(2)sql语句

select * from table1 full join table2 on table1.id=table2.id

(3)查询结果

常见SQL操作总结

 

Cross join

(1)取两张表的笛卡尔积,不需要连接条件

(2)sql语句

Select * from table1 cross join table2 on table1.id=table2.id

(3)查询结果

常见SQL操作总结

 

多表连接

多表连接时,重点关注的是连接条件