Краткое сравнение Oracle SQL и ANSI SQL - Оператор SELECT

ОГЛАВЛЕНИЕ

 

Оператор SELECT

В операторе SELECT имеются следующие дополнительные возможности по сравнению с ANSI SQL:

  1. NULL в списке выборки
  2. Запрос из запроса (SELECT FROM (SELECT….))
  3. Левая часть оператора IN может быть списком выражений в отличии от одиночного выражения в ANSI SQL
  4. Не только столбец, а любое выражение может быть использовано с оператором LIKE
  5. Любое выражение, а не только отдельный столбец может быть использован в операторах сравнения IS NULL и IS NOT NULL
  6. В предложении ORDER BY может быть использовано любое выражение содержащее любые столбцы любых таблиц предложения FROM в отличии от только имен, алиасов, номеров позиций столбцов списка выборки
  7. В предложении GROUP BY может быть использовано любое выражение содержащее любые столбцы любых таблиц предложения FROM в отличии от только имен, алиасов столбцов списка выборки
  8. Вложенные агрегатные функции MIN(MAX(col1)) (уровень вложенности не более 2)
  9. Оператор внешнего соединения (+)
  10. Древовидные запросы
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
  1. в списке выборки присутствует NULL-значение
  2. в предложении FROM указан подзапрос
  3. слева от оператора IN указан список из двух столбцов, а справа - запрос, возвращающий два столбца
  4. с оператором LIKE использовано выражение '%'||ename2||'%', содержащее ссылку на столбец
  5. С оператором сравнения IS NOT NULL используется выражение sal+sal2
  6. Сортировка осуществляется по значению выражения sal+sal2