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

use*_*808 -5 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');
Run Code Online (Sandbox Code Playgroud)

但我需要打印A1和B1,所以有可能不使用连接和使用'IN'???

Cha*_*ana 7

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

你指的是加入.

称之为别的东西不会改变它的含义......用Willie的话说,

"任何其他名称的加入仍然是加入"

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


Sim*_*iak 5

你不能没有JOIN有效地或者换句话说你可以使用inserted select,但这个操作更慢JOIN,JOIN是最好的选择,编程和数据库编写.当你卖掉他缓慢的IS时,你未来的潜在客户会不会那么高兴.