我有2个表格A和表格B.在表格B中,我们必须检查输入的所有列是否与表格A完全相同,意思是如果表格B中存在一行,那么同一行将是在表A中也有。表A还可能有不在表B中的行。如果在表A中有一行不在表A中,并且在表B中有一行,则应该显示一个警报,显示表B中哪个元素是额外的。 我们能做到这一点吗?使用连接?如果是的话会是什么sql代码?比较两个表值
Q
比较两个表值
1
A
回答
13
这是我见过:)
1
你可能想看看下面的文章
SQL SERVER – Introduction to JOINs – Basic of JOINs
这应该给你的JOIN
S IN的Sql非常清楚的了解。
从那里你应该能够找到解决方案。
举个例子,你将不得不看看像
TABLE1
Col1
Col2
Col3
Col4
TABLE2
Col1
Col2
Col3
Col4
--all rows that match
SELECT *
FROM TABLE1 t1 INNER JOIN
TABLE2 t2 ON t1.Col1 = t2.Col1
AND t1.Col2 = t2.Col2
...
AND t1.Col3 = t2.Col3
--rows only in TABLE1
SELECT *
FROM TABLE1 t1 LEFT JOIN
TABLE2 t2 ON t1.Col1 = t2.Col1
AND t1.Col2 = t2.Col2
...
AND t1.Col3 = t2.Col3
WHERE t2.Col1 IS NULL
--rows only in TABLE2
SELECT *
FROM TABLE1 t2 LEFT JOIN
TABLE2 t1 ON t1.Col1 = t2.Col1
AND t1.Col2 = t2.Col2
...
AND t1.Col3 = t2.Col3
WHERE t1.Col1 IS NULL
0
如果您想根据比较有关加入最佳影片单列,那么你可以做这样的事情:
SELECT ID FROM B LEFT JOIN A ON B.ID = A.ID WHERE A.ID IS NULL;
上述查询将给你的记录列表中不存在的A,但我ñB.
相反,如果你想整行进行比较,可以用下面的办法:
SELECT COUNT(*) FROM B;
SELECT COUNT(*) FROM A;
SELECT COUNT(*) FROM (
SELECT * FROM B UNION SELECT * FROM A
)
如果所有的查询返回相同的数,那么你可以假定这两个表是完全相等。
相关问题
- 1. 比较两个表的值
- 2. 比较两个表中的两个值
- 3. 比较两个表
- 4. 比较两个表行值ColdFusion?
- 5. 比较Java中的两个表列值
- 6. T-SQL比较两个表值
- 7. 比较两个DateSelect表单值
- 8. 比较两个mysql表的值
- 9. Excel公式 - 比较两个表的值
- 10. JavaScript比较两个值
- 11. 比较两个nsstrings的值
- 12. 比较两个时间值
- 13. 比较两个JComboBoxes的值
- 14. 比较两个布尔值
- 15. 比较两个选择值
- 16. 比较两个下拉值
- 17. 与jquery比较两个值
- 18. 比较两个时间值
- 19. 从两个表中选择DISTINCT值并比较这两个表
- 20. mysql比较两个表
- 21. 比较两个列表linq
- 22. 比较两个列表
- 23. 比较两个列表
- 24. 比较两个列表
- 25. 比较两个组列表
- 26. sql比较两个表格
- 27. PHP比较两个表
- 28. 比较两个表SQLSE
- 29. SQL - 比较两个表格
- 30. 如何比较两个表