一、内连接与外连接的区别:
定义两个表:
select * from t1;
id name
----------
1 aaa
2 bbb
select * from t2;
id age
----------
1 20
3 20
内连接:只显示符合连接条件的记录。
select * from t1 inner join t2 on t1.id=t2.id;
外连接分为左外连接、右外连接和全外连接。
1)左外连接(left join或left outer join):显示左表的全部记录与右表符合连接条件的记录:
select * from t1 left join t2 on t1.id=t2.id;
2)右外连接(right join或right outer join):显示右表的全部记录与左表符合连接条件的记录:
select * from t1 left join t2 on t1.id=t2.id;
3)全外连接(full join或full outer join):显示两个表符合条件的记录与其他记录。
二、联合查询的索引使用:
在where中要加筛选条件才可以使用索引
三、两个表的交集、并集、差集:
交集:用inner join(内连接)
并集:用union
差集:用left join或right join(外连接)
本文深入解析了SQL中的内连接与外连接(包括左外连接、右外连接和全外连接)的区别,阐述了如何通过内连接获取两个表的交集,通过左外连接或右外连接实现差集操作,以及如何利用全外连接获取所有记录。同时,文章还讨论了联合查询的索引使用原则,指出在WHERE子句中加入筛选条件是有效利用索引的关键。
2109

被折叠的 条评论
为什么被折叠?



