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

标签 mysql subquery

我想从表“A”中选择一些记录,但不在表“B”中。

示例... 表格是...

A{A_ID, A_Date, A_Price};

B{B_ID, A_ID};

我想从具有主键 A_ID 的表“A”中选择记录,但在主键 A_ID 上连接两个表时仅选择那些不是表“B”的记录。 我可以通过查询来做到这一点...

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

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

所以我想在没有子查询的情况下运行它。

请帮忙!!!

最佳答案

尝试这些查询:

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

关于mysql - 在mysql中不使用子查询选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50924453/

相关文章:

mysql - 对每对求和 mysql 结果

mysql - 为什么查询 information_schema 需要时间?

mysql - 从表中选择一个值内至少有两行的数据

php - MySQL 正在将我的时间戳值转换为 0000-00-00

python - 在 SQLAlchemy 中为子查询添加别名

MySQL如何创建带有子查询的 View ?

php - 如何将多个复选框答案插入数据库表中?

使用 LEFT JOIN 优化 MySql 查询

MySQL - 从双重嵌套子查询引用外表值

postgresql - 错误 : more than one row returned by subquery