Основы SQL


SELECT (ВЫБОР)


Синтаксис

SELECT { IDISTINCT | ALL] <value expression> . , . . } / *

[INTO <host variable list> (*только внедрённый*)]

FROM <table reference> . , . .

[WHERE <predicate>]

[GROUP BY <grouping column> . , . .]

[HAVING <predicate>]

[ORDER BY <ordering column> [ASC | DESC] . , . . ];

Это предложение организует запрос и выводит значения из базы данных (см. Главы 3 - 14 ).

Применяются следующие правила:

  • Если ни ALL, ни DISTINCT не указаны, принимается ALL.
  • Выражение <value expression> состоит из <column spec>, агрегатной функции <aggregate funct>, нестандартной функции <nonstandard function>, постоянной <constant> или любой их комбинации с операторами в допустимых выражениях.
  • Таблица, на которую ссылаются, <table reference>, состоит из имени таблицы, включая префикс владельца, если текущий пользователь не владелец, или синоним (нестандартно) таблицы. Таблица может быть или базовой таблицей, или просмотром. В принципе псевдоним может указать, какой синонимом используется для таблицы, только на время текущей команды. Имя таблицы или синоним должны отделяться от псевдонима одним или более разделителями <separator>.
  • Если используется GROUP BY, все столбцы <column spec>, используемые в предложении SELECT, должны будут использоваться как группа столбцов <grouping column>, если они не содержатся в агрегатной функции <aggregate funct>. Вся группа столбцов <grouping column> должна быть представлена среди выражений <value expressions>, указанных в предложении SELECT. Для каждой отдельной комбинации значений группы столбцов <grouping column> будет иметься одна, и только одна, строка вывода.
  • Если HAVING используется, предикат <predicate> применяется к каждой строке, произведённой предложением GROUP BY, и те строки, которые сделают этот предикат верным, будут выведены.
  • Если ORDER BY используется, вывод имеет определенную последовательность. Каждый идентификатор столбца <column identifer> ссылается на указанное <value expression> в предложении SELECT. Если это <value expression> является указанным столбцом <column spec>, <column identifier> может быть таким же, как <column spec>. Иначе <column identifier> может быть положительным целым числом, указывающим место, где находится <value expression> в последовательности предложения SELECT. Вывод будет сформирован так, чтобы помещать значения, содержащиеся в <column identifier>, в порядке возрастания, если DESC не указан. Имя идентификатора столбца <column identifier>, стоящее первым в предложении ORDER BY, будет предшествовать позже стоящим именам в определении последовательности вывода.
  • Предложение SELECT оценивает каждую строку-кандидат таблицы, в которой строки показаны независимо.




    Начало  Назад  Вперед



    Книжный магазин