T-SQL JOIN

WBOY
WBOY原创
2016-06-07 17:38:23983浏览

a表 name sex 张三 男 李四 女 b表 name age 李四 30 王五 23 1 全外连接 select a.name,a.sex,b.name,b.age from a full outer join b on a.name=b.name 结果如下, name sex name age 张三 男 NULL NULL 李四 女 李四 30 NULL NULL 王五 23 关联字段name,

a表
name sex
张三 男
李四 女

b表
name age
李四 30
王五 23

1 全外连接
select a.name,a.sex,b.name,b.age
from a full outer join b on a.name=b.name
结果如下,,
name sex name age
张三 男 NULL NULL
李四 女 李四 30
NULL NULL 王五 23
关联字段name,左表有而右表没有的,如张三,b.name,b.age都为NULL,加上左右两边都有的就是左连接的结果;而右表有而左表表没有的,如王五,a.name,a.sex都为NULL,加上左右两边都有的就是右连接的结果;左右两边都有的如,李四,这就是内连接。相见如下
2 左联接
select a.name,a.sex,b.name,b.age
from a left outer join b on a.name=b.name
结果如下
name sex name age
张三 男 NULL NULL
李四 女 李四 30
3 右联接
select a.name,a.sex,b.name,b.age
from a right outer join b on a.name=b.name
结果如下
name sex name age
李四 女 李四 30
NULL NULL 王五 23
4 内联接
select a.name,a.sex,b.name,b.age
from a inner join b on a.name=b.name
结果如下
name sex name age
李四 女 李四 30
5 交叉联接(笛卡尔乘积)
select a.name,a.sex,b.name,b.age
from a cross join b where a.name=b.name
结果如下
name sex name age
张三 男 李四 30
李四 女 王五 23
张三 男 王五 23
李四 女 李四 30

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn