码迷,mamicode.com
首页 > 数据库 > 详细

SQL Join简单介绍

时间:2014-11-18 23:49:46      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   使用   sp   数据   div   

前沿

Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接、外联接和交叉联接等。

如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这时我们应该考虑使用Join,因为Join具体联接表或函数进行查询的特性

 

创建表结构
create table Ta_A(id int,name nvarchar(50));
create table Ta_B(id int,name nvarchar(50));


insert into Ta_A VALUES (1,‘Pirate‘)
insert into Ta_A VALUES (2,‘Monkey‘)
insert into Ta_A VALUES (3,‘Ninja‘)
insert into Ta_A VALUES (4,‘Spaghe‘)

insert into Ta_B VALUES (1,‘Nuta‘)
insert into Ta_B VALUES (2,‘Pirate‘)
insert into Ta_B VALUES (3,‘Darth‘)
insert into Ta_B VALUES (4,‘Ninja‘)
内联接(Inner Join)
select * from Ta_A
	inner join Ta_B
	on Ta_A.name=Ta_B.name

 bubuko.com,布布扣

全外联接(Full Outer Join)
SELECT * FROM Ta_A 
	FULL OUTER JOIN Ta_B
	ON Ta_A.name=Ta_B.name

 bubuko.com,布布扣

左外部联接(Left Outer Join)
SELECT * FROM Ta_A
	LEFT OUTER JOIN Ta_B
	ON Ta_A.name=Ta_B.name

 bubuko.com,布布扣

再看一下如何取出A表记录而不存在B表中,对应还是左外联接

SELECT * FROM Ta_A
	LEFT OUTER JOIN Ta_B
	ON Ta_A.name = Ta_B.name
	WHERE Ta_B.id IS null

 bubuko.com,布布扣

再看另一种情况,也是用全外联接,取出A、B交集以外的数据

SELECT * FROM Ta_A
	FULL OUTER JOIN Ta_B
	ON Ta_A.name=Ta_B.name
	WHERE Ta_A.id IS NULL
	OR Ta_B.id IS NULL

 

bubuko.com,布布扣

 

结束

以上就是关于SQL Join的一些简单知识整理,希望对你有一点帮助!

SQL Join简单介绍

标签:style   blog   http   ar   color   使用   sp   数据   div   

原文地址:http://www.cnblogs.com/wywnet/p/4106784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!