连接SQL查询从两个表中获取数据
我是一个新手,刚刚学习 SQL 并且有这个问题:我有两个具有相同列的表。一些寄存器位于两个表中,但其他寄存器仅位于其中一张表中。为了说明,假设表A = (1,2,3,4),表B=(3,4,5,6),数字是寄存器。我需要选择表B中的所有寄存器,如果它们不在表A中,即结果=(5,6)。我应该使用什么查询?也许是加盟。谢谢。
I'm a newbie, just learning SQL and have this question: I have two tables with the same columns. Some registers are in the two tables but others only are in one of the tables. To illustrate, suppose table A = (1,2,3,4), table B=(3,4,5,6), numbers are registers. I need to select all registers in table B if they are not in table A, that is result=(5,6). What query should I use? Maybe a join. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用如下 NOT IN 查询:
SELECT col from A where col not in (select col from B)
或使用外连接:
select A.col
来自 A.col=B.col 上的 A LEFT OUTER JOIN B
其中 B.col is NULL
第一个更容易理解,但第二个更容易在查询中使用更多表。
You can either use a NOT IN query like this:
SELECT col from A where col not in (select col from B)
or use an outer join:
select A.col
from A LEFT OUTER JOIN B on A.col=B.col
where B.col is NULL
The first is easier to understand, but the second is easier to use with more tables in the query.
我假设您在 TABLE_A 和 TABLE_B 中有一个名为 register 的列
I assumed you have a column named register in TABLE_A and TABLE_B