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. OUTER JOIN VS INNER JOIN
- 2. 的LINQ to SQL - LEFT OUTER JOIN
- 3. NHhibernate OUTER JOIN
- 4. LEFT OUTER JOIN
- 5. LEFT OUTER JOIN
- 6. 多个OUTER JOIN
- 7. LEFT JOIN(OUTER JOIN)与INNER JOIN的条件
- 8. 了解LEFT OUTER JOIN
- 9. LEFT OUTER JOIN
- 10. JPQL OUTER JOIN
- 11. 为什么SQL Server CE 3.5上的LEFT OUTER JOIN性能不好?
- 12. SQL Server 2005 RIGHT OUTER JOIN不能正常工作
- 13. SQL Server LEFT JOIN
- 14. Django的FULL OUTER JOIN
- 15. SQL Server:CROSS JOIN和FULL OUTER JOIN有什么区别?
- 16. 重构SQL(解决方法RIGHT OUTER JOIN)
- 17. 应用OUTER JOIN上
- 18. LEFT OUTER JOIN PostgreSQL中
- 19. Rails的LEFT OUTER JOIN
- 20. Arel Aggregations,Count,Outer Join?
- 21. SQL Server LIKE JOIN
- 22. RIGHT OUTER JOIN在SQLAlchemy的
- 23. Rails LEFT OUTER JOIN子查询
- 24. JOIN问题与SQL Server
- 25. LINQ JOIN和OUTER JOIN - 如何将SQL转换为LINQ表达式
- 26. LEFT OUTER JOIN在Django的
- 27. 条件INNER JOIN在SQL Server
- 28. 双FULL OUTER JOIN在MySQL
- 29. JOIN如何通过OUTER JOIN分发?
- 30. SQL Server 2005 LEFT JOIN?