您的位置:首页 > 数据库

SQL Server Join的使用

2015-09-07 13:15 169 查看
介绍Inner Join, Full Out Join,Cross Join,Left Join, Right Join区别。

--创建测试表--------------------------------------------------------------

create table Customers (Cust_Id int, Cust_Name varchar(10))

insert Customers values (1, 'Craig')

insert Customers values (2, 'John Doe')

insert Customers values (3, 'Jane Doe')

create table Sales (Cust_Id int, Item varchar(10))

insert Sales values (2, 'Camera')

insert Sales values (3, 'Computer')

insert Sales values (3, 'Monitor')

insert Sales values (4, 'Printer')

--测试脚本----------------------------------------------------------------

--Inner Join

--两边都有的才筛选出来

select *

from Sales S inner join Customers C

on S.Cust_Id = C.Cust_Id

--Full Out Join

--两边都列出来,能匹配就匹配,不匹配的用NULL列出

select *

from Sales S full outer join Customers C

on S.Cust_Id = C.Cust_Id

--Cross Join

--列出两边所有组合,也叫笛卡尔集A.Rows * B.Rows

select *

from Sales S cross join Customers C

--Left Join

--以左边的表为主表,列出主表所有记录,能匹配就匹配,不匹配的用NULL列出

select * from Customers c left join sales s

on c.cust_id = s.cust_id

--Right Join

--以右边的表为主表,列出主表所有记录,能匹配就匹配,不匹配的用NULL列出

select * from Customers c right join sales s

on c.cust_id = s.cust_id

文章转自于:点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: