Классика баз данных - статьи

       

Оператор 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



    Содержание раздела