Mysql - 检查外部表中是否存在 id
Mysql - Check if id exists in foreign tables
我有一个 "big" 数据库(1000 万行),我需要删除无用的收购 ID(不再有 acquisition_id 关系)。
Table 收购:
- id
- date
Table datapres :
- id
- value
- atmo
- #acquisition_id
Table 数据温度 :
- id
- #acquisition_id
Table dataconds:
- id
- value
- stack_num
- #acquisition_id
所以我需要 SELECT 在这 3 个表中没有关系的所有采集 ID。可以直接在SQL吗?
是的,您可以使用多个 LEFT JOIN
s :
SELECT a.id
FROM acquisitions a
LEFT JOIN datapres dp
ON(a.id = dp.acquisition_id)
LEFT JOIN datatemps dt
ON(a.id = dt.acquisition_id)
LEFT JOIN dataconds dc
ON(a.id = dc.acquisition_id)
WHERE dp.id IS NULL OR
dt.id IS NULL OR
dc.id IS NULL
这将为您带来 3 个数据表之一中缺少的 ID
。
我有一个 "big" 数据库(1000 万行),我需要删除无用的收购 ID(不再有 acquisition_id 关系)。
Table 收购:
- id
- date
Table datapres :
- id
- value
- atmo
- #acquisition_id
Table 数据温度 :
- id
- #acquisition_id
Table dataconds:
- id
- value
- stack_num
- #acquisition_id
所以我需要 SELECT 在这 3 个表中没有关系的所有采集 ID。可以直接在SQL吗?
是的,您可以使用多个 LEFT JOIN
s :
SELECT a.id
FROM acquisitions a
LEFT JOIN datapres dp
ON(a.id = dp.acquisition_id)
LEFT JOIN datatemps dt
ON(a.id = dt.acquisition_id)
LEFT JOIN dataconds dc
ON(a.id = dc.acquisition_id)
WHERE dp.id IS NULL OR
dt.id IS NULL OR
dc.id IS NULL
这将为您带来 3 个数据表之一中缺少的 ID
。