表A
a
-----
1
2
3
4
表B
b
-----
2
3
4
5
6我想用以个联查查询出a b
----------
1 null
2 2
3 3
4 4
null 5想了半天实在没想出来
请高手指点指点.......
谢谢了
a
-----
1
2
3
4
表B
b
-----
2
3
4
5
6我想用以个联查查询出a b
----------
1 null
2 2
3 3
4 4
null 5想了半天实在没想出来
请高手指点指点.......
谢谢了
解决方案 »
- 求助SQL
- MS SQL_SERVER 如何提高游标效率
- 救命啊!数据库日志文件损坏,怎么办?100分求救
- SQL语句求当月的天数-急
- ============为什么这样动态执行不行?exec的问题
- 怎样用关键字作字段名,急!
- 请问ACCESS转成SQL数据库 后怎么SQL数据库变大了很多?
- 有谁做过对MSSQL2000数据库通过设定密码限时使用的事?
- 怎样修改注册表,建立一个DSN,是SQL授权模式的?
- 复制数据的SQL语句如何写?解决就给分!!!
- 还有一个问题,2005里面数据库选项里面有很多2000下面没有的东西,请问我2000备份后2005恢复后要调整吗? 大家谈谈经验。
- 请问2000备份恢复到2005上,其数据库默认兼容级别是80,请问我要改成90嘛
from a full join b on a.a=b.b
:)顺便结贴.....
-- Author :fredrickhu(我是小F,向高手学习)
-- Date :2009-12-09 16:05:27
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[a]
if object_id('[a]') is not null drop table [a]
go
create table [a]([a] int)
insert [a]
select 1 union all
select 2 union all
select 3 union all
select 4
--> 测试数据:[b]
if object_id('[b]') is not null drop table [b]
go
create table [b]([b] int)
insert [b]
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6
--------------开始查询--------------------------
select a.a,b.b from a full join b on a.a=b.b
----------------结果----------------------------
/* a b
----------- -----------
1 NULL
2 2
3 3
4 4
NULL 5
NULL 6(6 行受影响)
*/
FULL JOIN=LEFT JOIN+RIGHT JOIN
insert into @A select 1
union all select 2
union all select 3
union all select 4
declare @B table (b int)
insert into @B select 2
union all select 3
union all select 4
union all select 5
union all select 6
select top 5 * from @A a full join
@B b on a.a=b.b/*
(4 行受影响)(5 行受影响)
a b
----------- -----------
1 NULL
2 2
3 3
4 4
NULL 5(5 行受影响)*/