详解数据库中内连接和外连接

一,示例表:

表A:                                                               表B:

                                      

1,内连接:只有两个表相匹配的行才能在结果集中出现

select A.*,B.* from A inner join B on A.id = B.id

输出是:


2,外连接

(1)左外连接(也可称为左连接,左边的记录全部显示,右边符合条件的记录显示) 

(2)右外连接(也可称为右连接,右边的记录全部显示,左边符合条件的记录显示)

(3)全外连接(也可称为全连接,左右两边都显示,笛卡尔积形式显示)

如下,左外连接sql语句:

select A.*,B.* from A left join B on A.id = B.id

左外连接输出结果:

右外连接sql语句:

select A.*,B.* from A right join B on A.id = B.id

右外连接输出结果:

 

全外连接sql语句:

select A.*,B.* from A full join B on A.id = B.id

全外连接输出结果:

(4)自连接:就是表A外连接表A。

数据库表C,记录泰安市各县级市信息:

现在用sql语句显示:单位编码    单位名称 上级单位名称

此时需要自连接,sql语句如下:

select t1.单位编码,t1.单位名称,t2.单位名称 from C t1 left join C t2 on t1.上级单位编码 = t2.单位编码

显示结果如下:

 

二,赶集网的某个数据库试题

 

sql语句:

select  B.Name from A right join B on A.Id = B.Id where A.Id is null

输出结果:

posted on 2013-11-06 16:19  张三的哥哥  阅读(705)  评论(0编辑  收藏  举报