Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
управление данными.doc
Скачиваний:
46
Добавлен:
11.03.2015
Размер:
1.51 Mб
Скачать

Вывод с сортировкой – предложение order by

Предложение ORDER BY применяется для сортировки выходных данных. После этого предложения указывается имя поля, которое необходимо упорядочить. По умолчанию сортировка ведется по возрастанию. Если нужно сортировать по убыванию, то после имени поля, по которому ведется сортировка, нужно указать служебное слово DESC.

Пример3.

Вывод списка предметов с сортировкой по названию

SELECT код, название

FROM Дисциплины

ORDER BY название

Выборка из таблицы с условием - предложение where

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

Команда SELECT извлекает только те строки из таблицы, для которых условие имеет значение “истина”. В этом предложении можно использовать реляционные операторы: =, <, >, <=, >=, < >. Для указания нескольких условий нужно использовать булевы операторы AND, OR, NOT.

Пример 4.

Получить информацию о студентах с фамилией Арбузов

SELECT *

FROM Студенты WHERE фамилия = ‘Арбузов’

Создадим этот запрос с использованием конструктора запросов:

  1. Перейдите на закладку Запросы и нажмите кнопку Создать. Выберите режим Конструктор, нажмите Ок.

  2. В появившемся окне выберите таблицу, из которой будут выбираться данные. В данном случае это таблица Студенты. Нажмите кнопку Добавить. Закройте диалоговое окно.

  3. В окне конструктора введите данные следующим образом:

Рис. 3.2. Создание запроса на выборку в режиме конструктора

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

Что бы выполнить запрос, на панели инструментов нажмите кнопку . Результат выполнения этого запроса:

Рис. 3.4. Результат выполнения запроса на выборку с условием

Поиск подстрок – оператор like

Этот оператор позволяет просматривать поля для выяснения того, входит ли заданная подстрока в указанное поле.

Пример5.

Получить список кафедр, расположенных на первом этаже (номер аудитории начинается на 1)

SELECT название FROM кафедры WHERE кабинет LIKE "1*"

Запросы с соединением

Таблицы соединяются по полям, имеющим одинаковую семантику, по одинаковому значению. Обычно соединяемые таблицы находятся в связи один-ко-многим. После того как таблицы соединены в одну таблицу, из нее производится выборка.

Простое соединение

Условие соединения можно указать в предложении WHERE:

Пример 6.

Вывести фамилии преподавателей и названий дисциплин, которые они ведут.

SELECT Фамилия, Название

FROM Преподаватели, Дисциплины

WHERE Дисциплины.код =Преподаватели.код_дисц

Условие соединения можно также указать в предложении FROM:

SELECT Фамилия, Название

FROM Преподаватели INNER JOIN Дисциплины ON Дисциплины.код = Преподаватели.код_дисц

Соединение с условием отбора

Пример 7.

Показать преподавателей, преподающих информатику.

SELECT Преподаватели.Фамилия, дисциплины.название

FROM Преподаватели INNER JOIN Дисциплины ON Дисциплины.код =Преподаватели.код_дисц

WHERE дисциплины.название='Информатика'

Соединение 3-х и более таблиц

Это соединение обычно выполняется между таблицами со связью многие - ко - многим или когда в условии отбора данных из двух связанных таблиц присутствуют данные из 3-ей таблицы.

Пример8.

Получить список всех студентов с отметками по физике

Первый способ:

SELECT студенты.фамилия, сессия.оценка

FROM студенты, сессия, дисциплины

WHERE студенты.код=сессия.код_студ

AND дисциплины.код = сессия.код_дисц

AND дисциплины.название ='физика'

Второй способ:

SELECT студенты.фамилия, студенты. ммя, студенты.отчество,

сессия.оценка

FROM студенты INNER JOIN

( дисциплины INNER JOIN сессия

ON дисциплины.код = сессия.код_дисц)

ON студенты.код=сессия.код_студ

WHERE дисциплины.название ='физика'

В режиме конструктора этот запрос выглядит следующим образом:

Рис. 3.4. Запрос на выборку с соединением трех таблиц.

Результат выполнения этого запроса:

Рис. 3.5. Результат запроса на выборку с соединением трех таблиц «Оценки студентов по физике»