加入SQL查询以从两个表中获取数据

时间:2011-10-13 22:09:47

标签: sql join

我是新手,只是学习SQL而且有这个问题:我有两个具有相同列的表。有些寄存器在两个表中,但其他寄存器只在其中一个表中。为了说明,假设表A =(1,2,3,4),表B =(3,4,5,6),数字是寄存器。我需要选择表B中的所有寄存器,如果它们不在表A中,即result =(5,6)。我应该使用什么查询?也许加入。感谢。

2 个答案:

答案 0 :(得分:1)

你可以像这样使用NOT IN查询:

SELECT col from A where col not in (select col from B)

或使用外部联接:

select A.col from A LEFT OUTER JOIN B on A.col=B.col where B.col is NULL

第一个更容易理解,但第二个更容易使用查询中的更多表。

答案 1 :(得分:0)

Select register from TABLE_B b
Where not exists (Select register from TABLE_A a where a.register = b.register)

我假设您在TABLE_A和TABLE_B中有一个名为register的列