Операторы выборки и чтения данных

Запрос – это команда, которая обращается к БД и сообщает ей, чтобы она отобразила определенную информацию из таблиц.

Простой запрос – запрос, который обращается только к одной таблице БД.

Многотабличный запрос – запрос, который обращается к 2 или > таблицам.

Пусть существует БД «ТОВАРЫ»:

ТОВАРЫ (номер товара, тип товара, номер компании, название товара, цена)

КОМПАНИИ (номер компании, название компании, адрес, телефон)

ПРОДАЖА (номер товара, номер покупателя, количество товара)

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

Оператор SELECT наиболее важный оператор, применяемый для выборки данных. Синтаксис оператора имеет вид:

SELECT <список данных>

FROM <список таблиц>

[WHERE <условие выборки>]

[ORDER BY <условие сортировки> [,<условие сортировки>]…];

SELECT – ключевое слово, которое сообщает БД, что эта команда является запросом.

Список данных – содержит имена столбцов, участвующих в запросе. Поля, не перечисленные здесь, не будут включены в вывод команды, но это не означает, что они будут удалены и информация в них будет стерта.

Для вывода все полей без их перечисления используется символ *.

FROM – это оператор, который задает существующие таблицы, участвующих в запросе.

WHERE – это оператор, который задает условия, на основании которых выбираются строки из заданных таблиц.

ORDER BY – задает порядок сортировки результирующего множества.

Точка с запятой (;) используется для сообщения СУБД, что запрос построен и готов выполнятся.

Пример: вывести таблицу товаров.

SELECT Номер товара, тип товара, номер компании, название товара, цена

FROM ТОВАРЫ;

Пример: при необходимости получить каждой поле таблицы можно использовать необязательное сокращение в виде символа «*».

SELECT *

FROM ТОВАРЫ;

Пример: при необходимости можно вывести только определенные поля таблицы в определенной последовательности.

SELECT название товара, цена, тип товара

FROM ТОВАРЫ;

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

Выборка строк с условием

Пример: определить товар, код которого 1245.

SELECT *

FROM ТОВАРЫ

WHERE Номер товара = 1245;

Условие выборки – является логическим выражением. Его элементами могут быть операции сравнения (=, <>, <, >, <=, >=), арифметические операции, логические операторы (and, or, not).

Операции сравнения имеют стандартные значения для числовых данных, а для символьных их определение зависит от кодов ASCII символов – они следуют в алфавитном порядке, причем заглавные буквы имеют меньший код, чем строчные ‘Z’ < ‘a’.

Пример: вывести список товаров, цена которых >250,45

SELECT *

FROM ТОВАРЫ

WHERE цена > 250,45;

Пример: вывести информацию о товарах, код которых >123 и цена < 250.

SELECT *

FROM ТОВАРЫ

WHERE Номер товара > 123 and цена < 250,45;

Пример: вывести информацию о фирмах – поставщиках, наименование которых «Феникс» или местоположение г. Москва.

SELECT *

FROM Компании

WHERE Название товара = ‘Феникс’ or адрес = ‘Москва’;

Пример: вывести информацию о компании, офис которой не находится в Москве.

SELECT *

FROM Компании

WHERE Not (адрес = ‘Москва’);

При построении запросов могут быть использованы специальные операторы:

IN –определяет набор значений, в который данное значение должно быть включено;

BETWEEN – определяет диапазон значений, в которых должно умещаться искомое значение;

LIKE – определяет значение, точное написание которого неизвестно. Применим только к полям символьного типа.

Пример: вывести информацию о товарах, тип которых «Посуда» или «Игрушка». (Более простая замена оператора OR).

SELECT *

FROM ТОВАРЫ

WHERE Тип товара in (‘Посуда’, ‘Игрушка’);

Пример: вывести информацию о компаниях, код которых находится между 1245 и 1256.

SELECT *

FROM Компании

WHERE Номер компании BETWEEN 1245 and 1256;

Значения равные 1245 и 1256 включаются в ответную таблицу.

Пример: выбрать все компании, наименование которых находятся между «К» и «С».

SELECT *

FROM Компании

WHERE номер компании BETWEEN ‘K’ and ‘C’;

Существует два типа групповых символов, используемых с оператором Like:

· символ подчеркивания замещает любой одиночный символ, например М_Л, может соответствовать словам «Мел» или «Мол»;

· знак процента замещает последовательности любого числа символов, например, «%М%Л» соответствует словам «Мел» или «Помол», не соответствует «Молоко».

Пример: найти все товары, наименование которых начинается на букву «К».

SELECT название товара

FROM ТОВАРЫ

WHERE название товара LIKE ‘K%’;

Пример: определить название компании.

SELECT название компании, адрес

FROM Компании

WHERE название компании LIKE ‘П_рус%’;

ПОЛУЧЕНИЕ ИТОГОВЫХ ДАННЫХ

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