常见SQL操作总结
常见SQL操作总结
Join的用法
几种常见的连接(内、左、右、全、交叉)
Inner join
1.概念:内联接是用比较运算符比较要联接列的值的联接
2.关键字:join 或 inner join
3.sql语句
select * from table1 join table2 on table1.id=table2.id
4.查询结果
Left join
1.左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。
2.sql语句
select * from table1 left join table2 on table1.id=table2.id
3.查询结果(要注意:左连接有可能会扩散,比如说“小红”这条数据,右连接也会和左连接有同样的问题)
Right join
(1)右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
(2)sql语句
select * from table1 right join table2 on table1.id=table2.id
(3)查询结果
Full join
(1)完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
(2)sql语句
select * from table1 full join table2 on table1.id=table2.id
(3)查询结果
Cross join
(1)取两张表的笛卡尔积,不需要连接条件
(2)sql语句
Select * from table1 cross join table2 on table1.id=table2.id
(3)查询结果
多表连接
多表连接时,重点关注的是连接条件