select a.*,isnull(a.name,b.name)as name from a full join b on a.id=b.id --事例
IF OBJECT_ID('A') IS NOT NULL DROP TABLE A IF OBJECT_ID('B') IS NOT NULL DROP TABLE B GO CREATE TABLE A(COL1 INT) CREATE TABLE B(COL1 INT) INSERT INTO A SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 INSERT INTO B SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 1SELECT A.*,B.* FROM A FULL JOIN B ON A.COL1=B.COL1 --这里最少4条SELECT DISTINCT A.*,B.* FROM A FULL JOIN B ON A.COL1=B.COL1 --这里就小于4条SELECT A.*,B.* FROM A FULL JOIN B ON A.COL1=B.COL1 WHERE 1=0 --这样就空了
SELECT A.*,B.* FROM A FULL JOIN B ON A.COL1=B.COL1
select a.*,isnull(a.name,b.name)as name from a
full join b
on a.id=b.id --事例
IF OBJECT_ID('B') IS NOT NULL DROP TABLE B
GO
CREATE TABLE A(COL1 INT)
CREATE TABLE B(COL1 INT)
INSERT INTO A
SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
INSERT INTO B
SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 1SELECT A.*,B.* FROM A
FULL JOIN B ON A.COL1=B.COL1
--这里最少4条SELECT DISTINCT A.*,B.* FROM A
FULL JOIN B ON A.COL1=B.COL1
--这里就小于4条SELECT A.*,B.* FROM A
FULL JOIN B ON A.COL1=B.COL1
WHERE 1=0
--这样就空了
FULL JOIN B ON A.COL1=B.COL1
你可以把where的条件放在on后面看看返回多少语句