Здавалка
Главная | Обратная связь

Теоретические сведения




 

Ниже приведен почти полный синтаксис оператора 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 Все права принадлежат авторам размещенных материалов.