从两个表中选择数据而不加入

时间:2012-05-25 16:52:39

标签: mysql sql

这是交易:

表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'来实现吗???

2 个答案:

答案 0 :(得分:7)

当您说您需要将输出限制在A2 = B2

的位置时

你指的是加入。

把它称之为别的东西不会改变它的含义......用Willie的话来解释,

“按任何其他名称加入仍然是加入”

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

答案 1 :(得分:5)

你不能在没有JOIN的情况下做到这一点,或者换句话说,你可以使用inserted select,但这个操作比JOIN慢得多,JOIN是最好的选择并以编程方式和数据库编写。当你将他卖得慢时,你的潜在未来客户会不会那么开心。