- •Типы данных MySql
- •Создание базы данных taxi
- •Запросы к базе данных
- •Утилиты MySql
- •Запросы с указанием критерия отбора данных
- •Группировка данных и агрегатные функции
- •Запросы к двум и более таблицам
- •Команды обновления и удаления данных в таблицах
- •Изменение структуры таблицы
- •Создание индексов
- •Вложенные запросы
- •Привилегии в MySql
- •Транзакции
- •Оглавление
-
Запросы с указанием критерия отбора данных
Таблицы бывают очень большими, а нас могут интересовать только определенные строки, SQL дает возможность устанавливать критерии для отбора нужных строк. Предложение where позволяет определить критерий отбора строк. Операции, используемые в предложении where, даны в таблице ниже:
Оператор |
Название |
Описание |
= |
Равенство |
Проверяет равенство двух значений |
> |
Больше |
Проверяет, что левое значение больше правого |
< |
Меньше |
Проверяет, что левое значение меньше правого |
>= |
Больше или равно |
Проверяет, что левое значение не меньше правого |
<= |
Меньше или равно |
Проверяет, что левое значение не больше правого |
! = или <> |
Не равно |
Проверяет, что два значения не равны |
IS NOT NULL |
|
Проверяет, что в поле записано значение |
IS NULL |
|
Проверяет, что в поле отсутствует значение |
BETWEEN |
Величина между |
Проверяет, что значение принадлежит указанному диапазону |
IN |
Значение содержится |
Проверяет, что значение содержится в указанном множестве |
NOT IN |
Значение не содержится |
Проверяет, что значение не содержится в указанном множестве |
LIKE |
Соответствие |
Проверяет соответствие значения образцу |
NOT LIKE |
Не соответствие |
Проверяет несоответствие значения образцу |
Ниже рассмотрены несколько примеров использования предложения WHERE .
Узнаем, какого цвета имеются автомобили "Волга":
SELECT color FROM cars WHERE model = ' Volga';
Узнаем, когда выходил на работу водитель с учетным номером 1:
mysql>SELECT use_on FROM timetable WHERE driver_number = 1;
Определим номера всех автомобилей "Волга" желтого цвета:
mysql> SELECT reg_number FROM cars
-> WHERE model = 'Volga' AND color = 'yellow';
Оператор in определяет принадлежность значения поля заданному множеству значений. Например, чтобы определить номерные знаки автомобилей "Волга" и "Volkswagen", подайте команду
mysql> SELECT reg__number FROM cars WHERE model
IN ('Volga', 'Volkswagen');
Оператор between задает границы, в которые должно попасть значение, чтобы условие запроса выполнялось. За словом BETWEEN пишется начальное значение, затем ключевое слово and и конечное значение. Например, выясним, кто из водителей устроился на работу в период с 1 января 2001 г. по 1 января 2004 г.:
mysql> SELECT family_name FROM drivers
-> WHERE startdate BETWEEN '2001-01-01' AND '2004-01-01';
Оператор LIKE использует простой механизм соответствия . Образец может состоять из обычного текста и знака процента (%) для указания совпадения с произвольной текстовой строкой. В MySQL соответствия не чувствительны к регистру. Например, шаблон ' Fed%’ соответствует любой строке, которая начинается с ' Fed' или с ‘fed’.
mysql>SELECT * FROM drivers WHERE name LIKE 'Fed%;