多表查询中的内外链接
创建两张表举例
1、左外链【把左边的表的信息全部显示出来,右边只显示相同的部分,左边不相同的部分就对应右边的空(已左表为基础)】
方法一、left join
方法二、使用 +
2、右外链【把右边的表的信息全部显示出来,左边只显示相同的部分,右边不相同的部分就对应左边的空(以右表为基础)】
方法一、right join
方法二:+
3、全连接
4、内链:【将条件相同的信息打印出来】
写法1:
select t.name,t.aid,u.deptname from a t,b u where t.aid = u.bid
写法2:
select t.name,t.aid,u.deptname from a t join b u on t.aid = u.bid
select t.name,t.aid,u.deptname from a t inner join b u on t.aid = u.bid
inner 可以省略
5、如果多表查询不加条件限定,会产生笛卡儿积连接
例如,当查询emp表和dept表的数据
select * from emp,dept;
这样会产生54条数据,emp表中有14条数据,dept表中有4条数据,会用emp表中的没条数据取关联dept表中的每条数据