Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты)

В верхней области окна необходимо ввести:

select distinct nazvanie_goroda from vuz_gorod where cod_stran='01' [F5]

где '01' - это код России.

В результате выполнения этого запроса в нижней области окна появится отчет, представляющий собой список названий городов России (одно название города в одной строчке). Для просмотра отчета по запросу необходимо пользоваться мышкой и полосами прокрутки.

Замечание: Если в команде будет допущена ошибка, то вместо отчета будет выдано окно с сообщением об ошибке (см. рис.5).

2) Выполнение запроса по одной таблице БД с использованием функции BETWEEN,например:

выдать фамилии всех студентов и студентов-заочников России.

В верхней области окна необходимо ввести:

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 5

select fio from poss where kat_obuch_k between '03' and '04' [F5]

где '03' и '04' - это коды, соответствующие категориям обучения "студент" и "студент-заочник".

Отчет представлен в нижней части окна (см. рис. 6).

3) Выполнение запроса по одной таблице БД с использованием функции IN,например:

выдать данные по учащимся России, закончившим учебу в 95, 97, 98 годах.

В верхней области окна необходимо ввести:

select * from poss where gok in ('95', '97', '98') [F5].

Отчет будет представлен в нижней части окна (см. рис. 7).

4) Выполнение запроса по одной таблице БД с использованием функции LIKE, например:

выдать сведения по учащимся России с фамилией КУТЕПОВ (А).

В верхней области окна необходимо ввести:

select * from poss where fio like '%КУТЕПОВ%' [F5]

Отчет будет представлен в нижней части окна (см. рис. 8).

5) Выполнение запроса по одной таблице БД с использованием функции NULL, например:

выдать данные по учащимся России, у которых отсутствует учетный номер.

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 6

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 7

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 8

В верхней области окна необходимо ввести:

select * from poss where nomer is null [F5]

Отчет будет представлен в нижней части окна (см. рис. 9).

Замечание: Функции BETWEEN, IN, LIKE, NULL могут использоваться с операцией NOT.

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 9

6) Выполнение запроса по одной таблице БД с использованием сложного условия,например:

выдать данные по учащимся России, принятым на учебу в 87 и 93 годах, за исключением специальности 0101 (математика).

В верхней области окна необходимо ввести:

select * from poss where (gp='87' or gp='93') and not spec='000101' [F5]

Отчет будет представлен в нижней части окна (см. рис. 10).

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 10

7) Выполнение запроса по одной таблице БД с сортировкой записей,например:

выдать коды и названия всех учебных заведений Белоруссии, отсортировав записи по возрастанию кодов.

В верхней области окна необходимо ввести:

select cod_vuza, nazvanie_vuza from vuz_gorod where cod_stran='03' order by cod_vuza [F5]

Отчет будет представлен в нижней части окна (см. рис. 11).

Замечание: Во фразе order by вместо имени поля (cod_vuza) можно использовать порядковый номер позиции этого поля в списке выборки (для cod_vuza этот номер равен 1), т.е. можно указать order by 1. Другими словами, запрос будет выглядеть так:
select cod_vuza, nazvanie_vuza

from vuz_gorod

where cod_stran='03' order by 1

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 11

8) Выполнение запроса и выдача количества записей по одной таблице БД с использованием функции COUNT(*),например:

выдать количество учебных заведений России.

В верхней области окна необходимо ввести:

select count(*) from vuz_gorod where cod_stran='01' [F5]

Отчет будет представлен в нижней части окна (см. рис. 12).

Замечание: Для использования агрегатных функций AVG и SUM необходимо в структуре таблицы иметь поля числового типа, например: количество учащихся. Агрегатные функции count, min, max могут быть применены к полям любого типа.

9) Выполнение запроса по одной таблице БД с группировкой записей,например:

выдать названия городов и учебных заведений России, сгруппировав записи по городам и учебным заведениям.

В верхней области окна необходимо ввести:

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 12

select nazvanie_goroda, nazvanie_vuza from vuz_gorod where cod_stran='01' group by nazvanie_goroda, nazvanie_vuza [F5]

Отчет будет представлен в нижней части окна (см. рис. 13). Помимо отображения результатов выполнения запроса в табличном виде SQL Query Analyser позволяет просматривать графическое отображение процесса выполнения запроса (см. рис. 14). Чтобы его увидеть, необходимо выбрать пункт меню “Query”, а затем “Show Execution Plan” или нажать Ctrl+K.

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 13

Выполнение запроса по одной таблице БД, например: выдать названия всех городов России (исключая дубликаты) - student2.ru

Рис. 14

10) Выполнение запроса по одной таблице БД с использованием фразы HAVING,например:

выдать учетные номера учащихся, встречающиеся больше одного раза.

В верхней области окна необходимо ввести:

select nomer from poss group by nomer having count(*)>1 [F5]

Отчет будет представлен в нижней части окна (см. рис. 15).

Упражнения на использование операторов update, insert и delete.

Наши рекомендации