Как удалить записи из таблицы `t1`, на которые не ссылаются записи из таблицы `t2`?

Rin

*
Как удалить записи из таблицы `t1`, на которые не ссылаются записи из таблицы `t2`?

Нужно удалить записи из таблицы `t1`, на которые не ссылаются записи из таблицы `t2` по полю `id`. Связь "многое к одному" (`t2`.`id`->`t1`.`id`).
Все таблицы в innoDB, версия mySQL 4.0.18.
Ниже решение в 3 запроса. Возможно это сделать через многотабличное удаление одним запросом?

[SQL]
SET @a := "0";

SELECT @a := CONCAT_WS( ",", @a , `t1`.`id`)
FROM `t1`
LEFT JOIN `t2`
ON (`t1`.`id` = `t2`.`id`)
WHERE `t2`.`id` IS NULL;

DELETE FROM `t1`
WHERE FIND_IN_SET( `id`, @a);
[/SQL]

-~{}~ 07.01.05 19:40:

Разобрался с синтаксисом многотабличного удаления. :)
Все оказывается очень просто:

[SQL]
DELETE `t1`
FROM `t1` LEFT JOIN `t2`
ON (`t1`.`id` = `t2`.`id`)
WHERE `t2`.`id` IS NULL;
[/SQL]
 
Сверху