多表查询中的内外链接

创建两张表举例

     

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表中的每条数据

posted on 2018-10-16 16:01  平平无奇  阅读(284)  评论(0编辑  收藏  举报