Оператор 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
Содержание раздела