Теоретические сведения
Ниже приведен почти полный синтаксис оператора SELECT. SELECT[DISTINCT | ALL] {* |<величина> [, <величина> ...]} [INTO:Переменная [, :Переменная ...]] FROM<tableref> [, <tableref> ...] [WHERE<условие поиска>] [GROUP BYКолонка [, Колонка ...]] [HAVING<условие поиска>] [UNION[ALL] <select_expr>] [ORDER BY<список сортировки>]; <величина> = {Колонка |:Переменная |<константа> |<выражение> |<функция> |udf ([<величина> [, <величина> ...]]) | NULL | USER}[ASПсевдоним] <константа> = Число |'Строка' <выражение> = SQL выражение, возвращающее единичное значение <функция> = COUNT (* |[ALL] <величина> | DISTINCT<величина>) | SUM ([ALL] <величина> | DISTINCT<величина>) | AVG ([ALL] <величина> | DISTINCT<величина>) | MAX ([ALL] <величина> | DISTINCT<величина>) | MIN ([ALL] <величина> | DISTINCT<величина>) | CAST(<величина> AS<тип данных>) | UPPER(<величина>) | GEN_ID(Имя_Генератора, <величина>) <tableref> = {<joined_table> |table |view |procedure[(<величина> [, <величина> ...])]} [Псевдоним] <joined_table> = <tableref> <join_type> JOIN<tableref> ON<условие поиска> | (<joined_table>)<join_type> = [INNER] | {LEFT | RIGHT | FULL }[OUTER] <условие поиска> = <величина> <оператор сравнения> {<величина> | (<select_one>)} |<величина> [NOT] BETWEEN<величина> AND<величина> |<величина> [NOT] LIKE<величина> |<величина> [NOT] IN (<величина> [, <величина> ...] |<select_list>) |<величина> IS[NOT] NULL |<величина> {>= |<=}<величина> |<величина> [NOT] {= |< |>}<величина> | {ALL | SOME | ANY} (<select_list>) | EXISTS (<select_expr>) | SINGULAR (<select_expr>) |<величина> [NOT] CONTAINING<величина> |<величина> [NOT] STARTING[WITH] <величина> | (<условие поиска>) | NOT<условие поиска> |<условие поиска> OR<условие поиска> |<условие поиска> AND<условие поиска> <оператор сравнения> = {= |< |> |<= |>= |!< |!> |<> |!=} <select_one> = оператор SELECT, выбирающий одну колонку и возвращающий ровно одно значение <select_list> = оператор SELECT, выбирающий одну колонку, возвращающий ноль или много значений <select_expr> = оператор SELECT, выбирающий несколько величин и возвращающий ноль или много значений <список сортировки> = {Колонка | Номер} [ASC | DESC] [, <список сортировки> ...]
Некоторые параметры, входящие в этот оператор, описаны в табл. 4.
Описание параметров оператора SELECT
Как видно из синтаксиса оператора SELECT, обязательными являются только предложение SELECTс перечнем выдаваемых колонок и предложе-ние FROM. Пример простейшего оператора SELECT: -- Выдать перечень всех служащих: SELECT * FROMEmployee; Ниже приведено несколько упрощенных вариантов синтаксиса опера-тора SELECT, помогающих научиться составлять простые запросы. Упрощенный синтаксис внутреннего соединения (стандарт SQL-92): SELECTКолонка [, Колонка ...] | * FROM<tableref_left> [INNER] JOIN<tableref_right> [ON<условие поиска>] [WHERE<условие поиска>];
Упрощенный синтаксис внешнего соединения: SELECTКолонка [, Колонка ...] | * FROM<tableref_left> {LEFT | RIGHT | FULL}[OUTER] JOIN<tableref_right> [ON<условие поиска>] [WHERE<условие поиска>]; Упрощенный синтаксис использования подзапроса: SELECT[DISTINCT] Колонка [, Колонка ...] FROM<tableref> [, <tableref> ...] WHERE {expression {[NOT] IN |<оператор сравнения>} |[NOT] EXISTS } (SELECT[DISTINCT] Колонка [, Колонка ...] FROM<tableref> [, <tableref> ...] WHERE<условие поиска> );
Задание Лабораторную работу следует выполнять в следующем порядке: 1. Изучить синтаксис оператора SELECT и примеры запросов к базе данных "Employee.fdb". 2. Зарегистрировать базу данных "Employee.fdb" и подключиться к ней в программе "IB Expert". 3. Выполнить в окне "SQL Editor" двадцать запросов к базе данных "Employee.fdb" и сохранить их в файле "Employee_20.sql" в рабочей папке. Каждый запрос должен иметь комментарии с описанием, а файл в целом должен иметь комментарии со сведениями об авторе и дате создания. 4. Создать аналогично предыдущим лабораторным работам рабочую папку и назвать ее "ЛР7". 5. Скопировать в эту папку файл сценария, созданный при выполнении лабораторной работы №6. 6. Открыть в приложении "IB Expert" этот сценарий, исправить комментарии и сделать, чтобы база данных теперь создавалась в папке "ЛР7". 7. Выполнить сценарий и сохранить его в папке "ЛР7". 8. Зарегистрировать созданную базу данных в программе "IB Expert" и подключиться к ней. 9. Выполнить в окне "SQL Editor" десять запросов к своей базе данных и сохранить их, добавив комментарии, в рабочей папке в файле "select_10.sql". 10. Создать в папке "ЛР7" резервную копию базы данных. 11. Создать и сохранить в папке "ЛР7" файл с отчетом о выполнении лабораторной работы. Ход работы Для выполнения запросов в программе "IB Expert" необходимо выполнить следующие действия: 1. Подключиться к базе данных и выполнить команду "Tools®SQL Editor" (F12). В результате откроется окно "SQL Editor" (рис. 23).
Рис. 23. Окно выполнения запросов
2. Ввести в поле на вкладке "Edit" текст запроса. 3. Нажать на панели инструментов кнопку [Execute] (F9). 4. Если запрос правильный, то в результате произойдет его выполнение и результат будет отображен на вкладке "Results" (рис. 24).
Рис. 24. Окно с результатом выполнения запроса 5. Количество извлеченных в результате выполнения запроса строк отобра-жается над сеткой с данными справа. На рис. 24 там содержится строка "7 records fetched". В данном примере извлечено столько строк, сколько требуется, чтобы заполнить сетку (в ней помещается только 7 строк)T. 6. Чтобы узнать, сколько всего строк соответствуют выполненному оператору, надо перейти в конец отображаемого набора данных. Чтобы выполнить другой запрос, надо вернуться на вкладку "Edit", заменить содержимое редактора на новый запрос и повторить те же действия. К тексту ранее выполнявшихся правильных запросов можно вернуться, если перейти на вкладку "History", либо находясь на вкладке "Edit" нажимать кнопки [Previous Query] и [Next Query].
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|