Краткое сравнение Oracle SQL и ANSI SQL Страница 4. Оператор 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='управляющий'
|