数据库的内连接和外连接的区别
内连接和外连接的区别
内连接分为等值连接、不等值连接、自然连接、自连接
等值连接:
-- 语法一:select * from 表1 , 表2 where 表1.字段 = 表2.字段 ;
-- 语法二:select * from 表1 inner join 表2 on 表1.字段 = 表2.字段 where 条件表达式 ;
不等值连接:
--语法:select * from 表1 , 表2 where 表1.字段 != 表2.字段 ;
自然连接 using(相同字段)
-- 语法:select * from 表1 inner join 表2 using(两张表都存在的字段);
自连接
-- 自连接 : 一张表和自己进行关联,表一定要使用别名
-- 语法:select * from 表 别名a , 表 别名b where a.字段= b.字段;
外连接分为左外连接和右外连接
左外连接 left join :以左表作为主表,右表作为从表,左表返回所有数据,右表返回满足匹配条件的数据,右表不满足条件的记录显示为 null ;
-- select * from 表一 left join 表二 on 表一字段= 表二字段 ;
右外连接 right join :以右表作为主表,左表作为从表,右表返回所有数据,左表返回满足匹配条件的数据,左表不满足条件的记录显示为 null
-- select * from 表一right join 表二 on 表一字段= 表二字段 ;
- 结果集的不同
内连接主要是返回符合条件的
外连接主表数据全部返回,从表只返回满足条件的,主表对应的从表的数据不满足的用null填充。
如下图:
更多数据库操作请关注:https://blog.****.net/qq_44741940/article/details/108030560