3 способа удалить данные из таблицы, которых нет в другой таблице
1. LEFT JOIN/IS NULL
DELETE b FROM tbl
LEFT JOIN rel ON rel.id = tbl.fileid
WHERE rel.id IS NULL
2. NOT EXISTS
DELETE FROM tbl
WHERE NOT EXISTS(SELECT NULL
FROM rel
WHERE rel.id = tbl.fileid)
3. NOT IN
DELETE FROM tbl
WHERE tbl.fileid NOT IN (SELECT rel.id
FROM rel)
27 января 2016, 22:37