Краткое сравнение Oracle SQL и ANSI SQL - Оператор DELETE
ОГЛАВЛЕНИЕ
Страница 4 из 8
Оператор DELETE
Оператор DELETE в Oracle полностью соответствует требованиям начального уровня ANSI SQL. Однако имеются некоторые дополнительные возможности:
- Ключевое слово FROM не обязательно
- использование табличных алиасов для ссылок на обновляемую таблицу в подзапросах
- подзапросы в предложении WHERE могут ссылаться на обновляемую таблицу
- Оператор DELETE поддерживает удаление из подзапросов
1,2 DELETE emp aaa
WHERE sal IN (SELECT AVG(sal)
3 FROM emp bbb WHERE aaa.deptno=bbb.deptno)
- 1. в предложении DELETE отсутствует ключевое слово FROM
- 2. таблице emp присваивается алиас aaa для последующей ссылки на обновляемую таблицу в подзапросе
- 3. делается выборка из таблицы emp, из которой делается удаление этим же оператором
- 4. Оператор:
DELETE FROM emp WHERE job='управляющий'аналогичен оператору:
DELETE FROM (SELECT * FROM emp) WHERE job='управляющий'