Краткое сравнение Oracle SQL и ANSI SQL Страница 6. Оператор SELECT
|
Страница 6 из 8 Оператор SELECT В операторе SELECT имеются следующие дополнительные возможности по сравнению с ANSI SQL: - NULL в списке выборки
- Запрос из запроса (SELECT FROM (SELECT….))
- Левая часть оператора IN может быть списком выражений в отличии от одиночного выражения в ANSI SQL
- Не только столбец, а любое выражение может быть использовано с оператором LIKE
- Любое выражение, а не только отдельный столбец может быть использован в операторах сравнения IS NULL и IS NOT NULL
- В предложении ORDER BY может быть использовано любое выражение содержащее любые столбцы любых таблиц предложения FROM в отличии от только имен, алиасов, номеров позиций столбцов списка выборки
- В предложении GROUP BY может быть использовано любое выражение содержащее любые столбцы любых таблиц предложения FROM в отличии от только имен, алиасов столбцов списка выборки
- Вложенные агрегатные функции MIN(MAX(col1)) (уровень вложенности не более 2)
- Оператор внешнего соединения (+)
- Древовидные запросы
1 SELECT ename, job, sal, deptno, NULL FROM 2 (SELECT * FROM emp WHERE deptno=30) 3 WHERE (ename,job) IN (SELECT ename,job FROM …. );
SELECT ename,ename2,sal,sal2 FROM emp 4 WHERE ename LIKE '%'||ename2||'%' AND 5 sal+sal2IS NOT NULL 6 ORDER BY sal+sal2
- в списке выборки присутствует NULL-значение
- в предложении FROM указан подзапрос
- слева от оператора IN указан список из двух столбцов, а справа - запрос, возвращающий два столбца
- с оператором LIKE использовано выражение '%'||ename2||'%', содержащее ссылку на столбец
- С оператором сравнения IS NOT NULL используется выражение sal+sal2
- Сортировка осуществляется по значению выражения sal+sal2
|