Лабораторная № 7 «Выборка данных с использованием SELECT» по Базам данных (Шурыгин В. Н.)

Кирилл Николоев сб, 25.03.2017 22:33

Изучение использования SELECT для выборки данных из одной таблицы. Выборка всех данных, выборка с указанием требуемых столбцов. Выборка с ограничениями, изучение конструкции WHERE. Начальное изучение SELECT для выборки записей из нескольких таблиц. Упорядочение выбранных записей.

Выборка информации из учебной базы данных Важнейшей функцией систем управления базами данных является выборка данных. Для извлечения данных можно задавать различные условия, которым должны соответствовать отбираемые записи. Собственно поиск информации будет осуществляться автоматически.

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

SELECT позволяет производить над полученными данными вычисления, используя арифметические и логические операции, операции над строками, операции сравнения, а также применяя к данным различные функции.

Далее мы покажем различные способы использования SELECT, рассматривая различные примеры, в том числе использующие таблицы учебной базы данных. Выборка данных из одной таблицы Прежде чем использовать данные, сохраненные в таблицах, их нужно каким-либо образом из таблиц извлечь. Для выборки данных из таблиц используется оператор SELECT.

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

Пример 18. Выбрать все данные из таблицы books. В этом примере имя таблицы указано после FROM. Символ * показывает, что из таблицы нужно выбрать все столбцы. Пример 19. Если требовалась бы выборка только столбцов isbn и title, то нужно было бы записать:

Столбцы, которые необходимо выбирать, указываются через запятую. Конструкция WHERE команды SELECT. Условия выборки записей Обычно не все записи (или столбцы не всех записей) необходимо включать в результат. Условия включения записей в итоговую таблицу записываются в части WHERE команды SELECT.

Пример 20. Выбрать из таблицы названия книг с ценами менее 40. Условия, которым должны соответствовать отобранные записи, записываются в части WHERE. Пример 21. Найти в таблице книгу с заданным isbn.

Обратите внимание на то, каким образом в этом примере используется логическая операция OR: из таблицы выбираются все записи, в которых код isbn равен 0-672-31687-8, или 0-672-31509-2. Выборка данных из нескольких таблиц

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

Если в части FROM указаны две таблицы, то каждая запись из первой таблицы соединяется с каждой записью из второй таблицы. Полученные записи помещаются в таблицу-результат. Таким образом, число записей в результирующей таблице будет равно произведению числа записей в первой и второй таблицах. Более подробно см. [2]. Часто в командах SELECT, осуществляющих выборку из нескольких таблиц, используют часть WHERE.

Покажем использование подобных команд на примере таблиц из учебной базы данных. Пример 22. Используя таблицы books и order_items, получить названия всех книг и номера заказов, где эти книги встречаются. В этом примере придется осуществлять выборку из двух таблиц;

Таблица books содержит информацию, показанную ранее. В таблице order_items находятся следующие данные: Если в итоговую таблицу поместить название книги, соответствующий код isbn и номер заказа, то мы получим желаемый результат. Сделать это можно так:

В этом примере в таблицу-результат отобраны только такие записи из таблицы order_items, в которых isbn совпадает с соответствующим isbn в таблице books. Обратите внимание на способ именования столбцов. Здесь использованы квалификационные имена. Когда встречаются одинаковые имена столбцов в различных таблицах, то для того чтобы эти столбцы различить, требуется указывать перед именем столбца имя относящейся к нему таблицы, отделяя эти имена точкой.

Упорядочение данных. Конструкция ORDER BY Во многих случаях данные, выбранные из таблиц, имеет смысл упорядочить каким-либо заданным образом. Например, можно было бы упорядочить результаты предыдущего запроса таким образом, чтобы книги в результирующей таблице были представлены упорядоченными алфавитно, по названиям книг. Для упорядочения результатов в команде SELECT используется конструкция ORDER BY.

Скачать файлы

Похожие документы