-5

这是交易:

表 A 有 A1 和 A2 列

表 B 有 B1、B2、B3 列

现在我想从 A1 和 B1 列中选择数据(没有连接),条件是:-

B3='someword' 和 A2=B2

如果不需要打印 B1,我会将查询(无连接)编写为:

select A1 from A where A2 in (select B2 from B where B3='someword');

但我需要同时打印 A1 和 B1,那么是否可以在不使用连接和使用“IN”的情况下做到这一点???

4

2 回答 2

7

当您说您需要将输出限制在 A2=B2 的位置时

您正在指定一个联接。

称它为别的东西并不会改变它的本来面目……套用威利的话,

“任何其他名称的连接仍然是连接”

严肃地说,“连接”不是名称,也不是单词,甚至不是用于应用它的查询中的语法,它是基于来自两个不同表的值的逻辑谓词或限制或过滤器。如果您需要将输出限制在 Table1.A2 等于 Table2,B2 的位置,那么您有一个 Join

于 2012-05-25T17:00:02.273 回答
5

如果没有有效的方法,您无法做到这一点,JOIN或者换句话说,您可以使用inserted select可能,但此操作要慢得多,例如JOINJOIN是最好的选择,并且是以编程方式和数据库编写的。当您向他推销缓慢的 IS 时,您潜在的未来客户不会那么高兴。

于 2012-05-25T16:59:28.793 回答