Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Упрощённый синтаксис языка запросов

В этом разделе кратко описывается синтаксис языка запросов, чтобы можно было быстро перейти к Примерам запросов. Когда вы будете готовы узнать о синтаксисе более подробно, см. Полный синтаксис языка запросов.

Здесь рассматриваются следующие темы:

Выражение SELECT

Запрос на выборку состоит из шести частей (предложений): SELECT, FROM, WHERE, GROUP BY, HAVING и ORDER BY. Обязательные предложения SELECT и FROM, а WHERE, GROUP BY, HAVING и ORDER BY являются необязательными. Вот высокоуровневый BNF-синтаксис запроса:

QL_statement ::= select_clause from_clause
  [where_clause][groupby_clause][having_clause][orderby_clause]

Синтаксис BNF определяет следующие предложения.

  • Предложение SELECT определяет типы объектов или значений, возвращаемых запросом.

  • Предложение FROM определяет область запроса, объявляя одну или несколько идентификационных переменных, на которые можно ссылаться в предложениях SELECT и WHERE. Идентификационная переменная представляет собой один из следующих элементов:

    • Имя в схеме абстракций для сущности

    • Элемент отношения коллекции

    • Элемент однозначных отношений

    • Член коллекции, которая является множественной стороной отношения один-ко-многим

  • Предложение WHERE является условным выражением, которое фильтрует объекты или значения, возвращаемые запросом. Хотя это предложение является необязательным, в большинстве запросов оно присутствует.

  • Предложение GROUP BY группирует результаты запроса в соответствии с набором свойств.

  • Предложение HAVING используется с предложением GROUP BY для дальнейшей фильтрации результатов запроса в соответствии с условным выражением.

  • Предложение ORDER BY сортирует объекты или значения, возвращаемые запросом, в указанном порядке.

Выражения обновления и удаления данных

Операторы обновления и удаления обеспечивают массовые операции над наборами объектов. Эти операторы имеют следующий синтаксис:

update_statement :: = update_clause [where_clause]
delete_statement :: = delete_clause [where_clause]

Предложения update_clause и delete_clause определяют тип объектов, которые будут обновлены или удалены. Предложение WHERE может использоваться для ограничения объёма операции обновления или удаления.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)