问题描述
- mysql 两张表关联查询问题
-
现在有表A大概是百万级的数据,表B只有几千行,但是想在查询表A里剔除掉表B的数据,SELECT * FROM A WHERE NOT EXISTS (SELECT 1 FROM B WHERE B.id = A.id),这种写法效率很低,请问有没有其他的解决方法?
解决方案
这样写当然效率低,因为是笛卡尔积,要用join
select a.*, b.* from a join b on a.id=b.id
解决方案二:
左外连left join
解决方案三:
select * from A where Aid not in (select bId from B)
解决方案四:
Mysql关联查询
两个MYSQL表关联查询
两个MYSQL表关联查询
时间: 2024-12-31 22:53:51