一、内连接与外连接的区别:
定义两个表:
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(外连接)