这是交易:
表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'来实现吗???
答案 0 :(得分:7)
当您说您需要将输出限制在A2 = B2
的位置时你指的是加入。
把它称之为别的东西不会改变它的含义......用Willie的话来解释,“按任何其他名称加入仍然是加入”
说真的,“加入”是不名称,也不是用于应用它的查询中的单词甚至语法,它是基于逻辑谓词或限制或过滤器来自两个不同表的值。如果您需要将输出限制在Table1.A2等于Table2,B2的位置,那么您有一个Join
答案 1 :(得分:5)
你不能在没有JOIN
的情况下做到这一点,或者换句话说,你可以使用inserted select
,但这个操作比JOIN
慢得多,JOIN
是最好的选择并以编程方式和数据库编写。当你将他卖得慢时,你的潜在未来客户会不会那么开心。