Запросы к одной таблице

  • Часть 1
  • | 2
  • | 3

Конструкция DISTINCT | ALL определяет, что делать с повторяющимися строками результата. При использовании конструкции ALL возвращаются все строки, удовлетворяющие условиям запроса (этот режим используется по умолчанию). При использовании конструкции DISTINCTвозвращаются только неповторяющиеся строки.

Конструкция FIRST…SKIP служит для ограничения возвращаемых запросом строк.

В предложении FROM указывается список объектов БД, которые содержат данные, считываемые запросом.

Предложение WHERE показывает, что в результаты запроса следует включать только некоторые строки. Для отбора строк, включаемых в результаты запроса, используется условие поиска.

Предложение GROUP BY позволяет создать итоговый запрос, который вначале группирует строки таблицы по определенному признаку, а затем включает в результаты запроса одну итоговую строку для каждой группы.

Предложение HAVING показывает, что в ТРЗ следует включать только некоторые из групп, созданных с помощью предложения GROUPBY. В этом предложении, как и в предложении WHERE, для отбора включаемых групп используется условие поиска.

Предложение PLAN служит для определения пользователем собственных способов выполнения запросов. Обычно составлением плана запроса занимается оптимизатор. Оптимизатор анализирует возможные пути выполнения запроса, определяет «стоимость» выполнения каждого варианта и выбирает наилучший (наиболее быстрый) вариант. В основном пользователь не использует пункт PLAN, и СУБД сама определяет план по умолчанию.

Предложение ORDER BY сортирует результаты запроса на основании данных, содержащихся в одном или нескольких столбцах ТРЗ. Если это предложение не указано, результаты запроса не будут отсортированы.

Предложение ROWS…TO, как и FIRST…SKIP, служит для ограничения возвращаемых запросом строк, но имеет более широкое применение (может использоваться при объединении результатов нескольких запросов, в любых видах подзапроса, в UPDATE и DELETE).

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