0
A
回答
0
您可以使用NOT EXISTS
從兩個表中找出不匹配的ID,並可以將它與UNION ALL
結合使用。
查詢
SELECT t1.[Id] FROM [table-1] t1
WHERE NOT EXISTS(
SELECT 1 FROM [table-2] t2
WHERE t1.[Id] = t2.[Id]
)
UNION ALL
SELECT t2.[Id] FROM [table-2] t2
WHERE NOT EXISTS(
SELECT 1 FROM [table-1] t1
WHERE t1.[Id] = t2.[Id]
);
0
的另一種方法與TOP 1 WITH TIES和COUNT OVER:
SELECT TOP 1 WITH TIES *
FROM (
SELECT *
FROM [table-1]
UNION ALL
SELECT *
FROM [table-2]
) u
ORDER BY COUNT(*) OVER (PARTITION BY Id ORDER BY Id)
輸出:
Id name
D ...
E ...
F ...
G ...
H ...
I ...
J ...
K ...
COUNT(*) OVER (PARTITION BY Id ORDER BY Id)
如果有重複的Id
s,則將1
設置爲唯一行,並且>1
。如果你把它放在ORDER BY中,並且添加TOP 1 WITH TIES - 那隻剩下Id
s,並且計數最小。
與FULL OUTER另一種方法JOIN:
SELECT COALESCE(Id1,Id2) Id,
COALESCE(name1,name2) name
FROM (
SELECT t1.Id Id1,
t1.[name] name1,
t2.Id Id2,
t2.[name] name2
FROM [table-1] t1
FULL OUTER JOIN [table-2] t2
ON t1.Id = t2.Id
WHERE t1.Id IS NULL OR t2.ID IS NULL
) as t
相同輸出(與另一順序)
相關問題
- 1. SQL Server查詢及OUTER JOIN
- 2. SQL Server LEFT OUTER JOIN查詢性能
- 3. Xquery(SQL Server 2005/2008)except/outer join?
- 4. OUTER JOIN VS INNER JOIN
- 5. LEFT OUTER JOIN問題SQL
- 6. LEFT OUTER JOIN在SQL查詢
- 7. SQL Server 2012中LEFT OUTER JOIN的SQL語法
- 8. 在SQL Server 2008的多個表中使用SQL的OUTER JOIN
- 9. NHhibernate OUTER JOIN
- 10. LEFT OUTER JOIN
- 11. LEFT OUTER JOIN
- 12. 多個OUTER JOIN
- 13. LEFT JOIN(OUTER JOIN)與INNER JOIN的條件
- 14. 使用LEFT OUTER JOIN
- 15. NHibernate的,LEFT OUTER JOIN
- 16. 瞭解LEFT OUTER JOIN
- 17. LEFT OUTER JOIN
- 18. 'LEFT JOIN'vs'LEFT OUTER JOIN'
- 19. JPQL OUTER JOIN
- 20. 的SQL Server:與多個LEFT OUTER JOIN查詢和WHERE條件
- 21. SQL Server 2012 Express中的另一個LEFT OUTER JOIN失敗
- 22. 爲什麼SQL Server CE 3.5上的LEFT OUTER JOIN性能不好?
- 23. SQL Server 2005 RIGHT OUTER JOIN不能正常工作
- 24. MySQL OUTER JOIN語法錯誤
- 25. SQL Server LEFT JOIN
- 26. Django的FULL OUTER JOIN
- 27. SQL Server:CROSS JOIN和FULL OUTER JOIN有什麼區別?
- 28. SQL在RIGHT OUTER JOIN上返回num_rows
- 29. 重構SQL(解決方法RIGHT OUTER JOIN)
- 30. 將SQL(LEFT OUTER JOIN)轉換爲LinQ