连接SQL查询从两个表中获取数据

发布于 2024-12-09 21:21:33 字数 167 浏览 0 评论 0原文

我是一个新手,刚刚学习 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

毁梦 2024-12-16 21:21:33

您可以使用如下 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.

染柒℉ 2024-12-16 21:21:33
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 的列

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

I assumed you have a column named register in TABLE_A and TABLE_B

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文