在mysql中不使用子查询选择列

时间:2018-06-19 09:03:12

标签: mysql subquery

我想从表格中选择一些记录" A"但不在表格中的记录" B"。

...例 表格是......

A{A_ID, A_Date, A_Price};

B{B_ID, A_ID};

我想从表格中选择记录" A"使用主键A_ID,但只有那些不是表" B"在主键A_ID上加入两个表。 我可以用查询来做到这一点......

select * from A where A_ID not in (select A_ID from B)

但我的问题是子查询。因为运行需要太多时间,如果数据量很大。

所以我想在没有任何信息的情况下运行它。

请帮助!!!

1 个答案:

答案 0 :(得分:1)

尝试以下查询:

select * from TableA A
where not exists(select 1 from TableB where A_ID = A.A_ID)

select A.* from TableA A left join TableB B
on A.A_ID = B.A_ID
where B.B_ID is null