Но совершенству нет предела. Дальнейшее совершенствование запросов SQL лежит в плоскости использования операторов сравнения и логических операторов. И это очень кстати, если ваша таблица содержит большое количество числовых данных:
Использование операторов сравнения и логических операторов
Арсенал операторов сравнения MySQL насчитывает 6 операторов. Все они перечислены в табл. 4.1.
Для создания более сложных запросов можно воспользоваться логическими операторами AND, OR и NOT. В табл. 4.2 представлена информация о каждом из них.
А теперь, посмотрев в таблицу с оценками, попробуем получить список студентов, которые имеют по математике оценку больше 90.
Использование операторов сравнения и логических операторов
Использование операторов сравнения и логических операторов
Совершенно очевидно, что такую операцию можно производить только над однотипными полями.
Использование встроенных функций
Кроме того, MySQL предлагает пользователям целый пакет встроенных функций, которые могут пригодиться в тот момент, когда вы хотите вычислить сумму или среднее значение по определенным полям. Первой из таких функций является функция COUNT(), предназначенная для подсчета и отображения количества записей результирующего набора.
Рассмотрим следующий пример, отображающий количество записей в таблице videos.
Использование операторов сравнения и логических операторов
Это очень кстати в тех случаях, когда требуется быстренько подсчитать количество записей в таблице.
Функция SUM() помогает вычислить сумму значений результирующего набора, а функция AVG() - среднее арифметическое. Например, с помощью одного такого запроса можно вычислить средние оценки по математике, физике и литературе.
Использование операторов сравнения и логических операторов
Функции MIN() и MAX() позволяют определить минимальное и максимальное значение по определенному столбцу. Следующие запросы позволяют определить самую низшую и наивысшую оценку по математике.
Использование операторов сравнения и логических операторов
+----------- +
1 row in set (0.00 sec)
Более подробно о встроенных функциях можно узнать в главе 7, "Функции MySQL".
Упорядочивание и ограничение результирующих наборов
Для просмотра таблиц в отсортированном виде, MySQL предлагает конструкцию ORDER BY. Эта конструкция позволяет задавать имя поля и порядок сортировки при отображении значений таблицы (по возрастанию или по убыванию).
Например, при необходимости просмотра таблицы members, отсортированной по идентификатору, можно попробовать следующую конструкцию.
Использование операторов сравнения и логических операторов
С помощью ключевого слова LIMIT, MySQL дает возможность ограничить количество записей, выбранных в результирующий набор. Это ключевое слово принимает два параметра, первый из которых определяет начальную строку, а второй - количество отображаемых строк. Таким образом, запрос SELECT * FROM videos LIMIT 2, 2;
должен вернуть строки 3 и 4 результирующего набора.
Использование операторов сравнения и логических операторов
Применение групповых символов
При поиске результатов по групповому принципу, когда нет полной уверенности в том, что собственно необходимо найти, MySQL поддерживает использование ключевого слова LIKE. В конструкции LIKE допускается указание двух типов групповых символов: символа "%" (символа процента), который используется для отображения нуля и более появлений символа, и символа "_" (символа подчеркивания), который используется для отображения точно одного появления символа.
Пусть необходимо перечислить всех членов, в именах которых встречается буква е.
Использование операторов сравнения и логических операторов
Использование операторов сравнения и логических операторов
Подробнее о выполнении запросов и работе с таблицами - в главе 9, "Обработка данных".
Как известно...
Нужно заметить, что конструкция типа ... LIKE %строка% считается неэффективным и неоптимальным способом полного текстового поиска, т.к. в этом случае MySQL не может использовать ключи. Рекомендуется в этом случае использовать индексы по всему тексту и команду MATCH AGAINST (см. главу 8, "Обработка баз данных и таблиц").