Предложения select и from

  • Часть 1
  • | 2
  • | 3
  • | 4
  • | 5
  • | 6
  • | 7
  • | 8

Как следует из результата предыдущего запроса, СУБД Firebird определяет по умолчанию системные имена для столбцов ТРЗ, содержащих константы.

Повторяющиеся строки из таблицы результатов запроса можно удалить, если в запросе SELECT перед списком возвращаемых элементов указать ключевое слово DISTINCT (различный). Например, чтобы выбрать из таблицы Abonent различные значения кодов улиц, необходимо использовать следующий запрос:

SELECT DISTINCT StreetCD FROM Abonent;.

Результат выполнения запроса представлен на рис. 3.4.

STREETCD

3

4

6

7

8

Рис. 3.4. Результат запроса на исключение повторяющихся строк

Этот запрос выполняется следующим образом. Вначале генерируются все строки результатов (двенадцать строк – по числу строк в таблице Abonent), а затем удаляются те из них, коды улиц в которых в точности повторяют другие. Ключевое слово DISTINCTможно указывать независимо от содержимого списка возвращаемых элементов запроса SELECT. Если ключевое слово DISTINCT не указано, то повторяющиеся строки не удаляются.

Кроме столбцов, значения которых считываются непосредственно из БД, SQL-запрос на чтение может содержать вычисляемые столбцы, значения которых определяются на основании значений данных, хранящихся в БД. Чтобы получить вычисляемый столбец, в списке возвращаемых элементов необходимо указать выражение. Выражения могут включать в себя операции сложения, вычитания, умножения, деления и операцию конкатенации (склеивания) строк, которая обозначается, как две вертикальные линии "||". В выражениях можно также использовать скобки. Таким образом, выражение представляет собой следующую конструкцию:

<выражение> ::=

{ [ [+] | - ] { столбец | константа| функция} [ + | - | * | / ] [ || ]}….

предыдущаяследующая