我在处理SQL时遇到了问题。我想要从两个不同的表中获取具有相同主键的不同记录,这些表的列数不同。
我已经尝试使用"EXCEPT"和"MINUS",但是由于这两个表的列数不同,所以我收到了错误提示。
是否有其他SQL命令可以用来获取我想要的记录?
谢谢, Min
我在处理SQL时遇到了问题。我想要从两个不同的表中获取具有相同主键的不同记录,这些表的列数不同。
我已经尝试使用"EXCEPT"和"MINUS",但是由于这两个表的列数不同,所以我收到了错误提示。
是否有其他SQL命令可以用来获取我想要的记录?
谢谢, Min
SELECT table1.column1, table2.column3
FROM table1 INNER JOIN table2
ON table1.column1=table2.column1;
如果关键列等于NULL条件,使用FULL OUTER JOIN可以帮助您解决问题。以下是示例SELECT语句
/*
create table Tab1(id int, col1 varchar(10))
create table Tab2(id int, col2 varchar(10), col3 int)
insert into tab1 select 1,'Kodyaz'
insert into tab1 select 2,'Vader'
insert into tab2 select 2,'Star Wars', 6
insert into tab2 select 3,'SQL', 2014
*/
select *
from tab1
full outer join tab2 on tab1.id = tab2.id
where
tab1.id is null
or tab2.id is null
希望能对你有所帮助,