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
文章转自于:点击打开链接
--创建测试表--------------------------------------------------------------
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
文章转自于:点击打开链接
相关文章推荐
- zabbix监控mysql
- Sqlserver和Oracle上的定时任务创建
- ORACLE 创建作业JOB例子
- Hitting the 2100 parameter limit (SQL Server) when using Contains()
- MySQL数据库的一些操作
- sql语句查询txt 文件
- 防止SQL注入
- Mysqldump --single-transaction 选项解析
- MYSQL常用集群方案
- sqlserver锁表查看
- Mysql数据库命令大全
- mysql触发器编写
- SQL Server之SQLEXPRESS和MSSQLSERVER两个服务的问题
- aud$定位错误用户密码登陆数据库的具体信息
- 数据库死锁分析与解决
- SQL Server 删除作业Job (亲自实践)
- MySQL 语句级避免重复插入—— Insert Select Not Exist
- sqlite事务处理
- go-xorm使用mssql的小实例
- 问题五20150907Mysql版本不一致错误