这是交易:
表 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”的情况下做到这一点???
当您说您需要将输出限制在 A2=B2 的位置时
您正在指定一个联接。
称它为别的东西并不会改变它的本来面目……套用威利的话,
“任何其他名称的连接仍然是连接”
严肃地说,“连接”不是名称,也不是单词,甚至不是用于应用它的查询中的语法,它是基于来自两个不同表的值的逻辑谓词或限制或过滤器。如果您需要将输出限制在 Table1.A2 等于 Table2,B2 的位置,那么您有一个 Join
如果没有有效的方法,您无法做到这一点,JOIN
或者换句话说,您可以使用inserted select
可能,但此操作要慢得多,例如JOIN
,JOIN
是最好的选择,并且是以编程方式和数据库编写的。当您向他推销缓慢的 IS 时,您潜在的未来客户不会那么高兴。