Выбрать главу

Рис. 39

На нашей панели сообщений (рис. 39) теперь появилось сообщение: 10 rows returned in 1ms (10 строк вернулось за 1 мс). Сначала запрос выполняет условие ORDERBY, а затем применяет ограничение.

Примечание

Нет необходимости всегда использовать условие LIMIT вместе с ORDER BY. В большинстве случаев имеет смысл упорядочить результаты по определенным критериям, прежде чем ограничивать их. Если условие ORDER BY не используется, результаты оператора LIMIT будут возвращены в том порядке, в котором они были изначально добавлены в таблицу.

Контрольные вопросы

1. Напишите запрос, чтобы узнать количество клиентов, фамилии которых начинаются с буквы B.

2. Какая компания при сортировке в порядке убывания появляется в верхней строке таблицы customers?

3. Какое количество клиентов не указали почтовый индекс?

Резюме

• Рекомендуется добавлять комментарии к запросам. Базовый блок комментариев может содержать имя разработчика, дату создания запроса и краткое описание запроса.

• При написании запроса полезно сначала сформулировать вопрос на человеческом языке, а затем определить необходимые ключевые слова и условия.

• Запрос обычно начинается с условия SELECT, которое указывает, какие поля выводить из таблицы, указанной в условии FROM.

• Псевдонимы в SQL используются для присвоения таблице или столбцу в таблице временного имени. Псевдонимы позволяют сделать имена столбцов более удобочитаемыми. Псевдоним существует только на время выполнения запроса.

• Использование условия ORDERBY позволяет сортировать записи в алфавитном порядке (ASC) или в обратном порядке (DESC).

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

Глава 5. Преобразование данных в информацию

На этом этапе обучения мы покажем, как, используя основной оператор SELECT, получить любой набор полей из таблицы базы данных и при необходимости упорядочить их. Отображение и сортировка полей — это важный первый шаг обучения. В дальнейшем, чтобы вы могли задавать более конкретные вопросы, понадобятся более точные инструкции. В предыдущей главе в разделе «Контрольные вопросы» мы спросили, сколько фамилий клиентов начинаются с буквы B. Если вы выполнили упражнение, то знаете, что в результате выполнения запроса вернулось не очень много записей. В данном случае легко отсортировать данные в алфавитном порядке по фамилии, а затем просто вручную подсчитать, сколько из них начинается на букву B. Но что делать, если база данных содержит миллион клиентов? Вы действительно думаете, что сможете вручную подсчитать все фамилии на букву B? К счастью, в SQL существуют инструменты, которые не только позволяют сузить набор результатов (то есть результаты запроса) до очень конкретных данных, но также упорядочить и отфильтровать данные в зависимости от заданных пользователем условий.

Примечание

С этого момента мы не будем показывать окна с выходными данными браузера DB Browser (только если мы специально не ссылаемся на функцию браузера). Теперь мы будем показывать результаты наших запросов в табличной форме (рис. 40).

Рис. 40

Операторы сравнения, логические и арифметические операторы

Операторы — это специальные ключевые слова в SQL, которые мы используем вместе с условиями для сравнения значений полей, выбора подмножеств полей или выполнения арифметических операций.*** В отличие от уже изученных нами ключевых слов, таких как SELECT, операторы не могут существовать как самостоятельные условия SQL, их следует использовать с другими условиями, такими как SELECT и WHERE (которые мы рассмотрим в этой главе). На рис. 41 показаны три типа операторов, которые мы будем использовать далее в этой главе.

Рис. 41

Примечание

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

В следующем примере мы рассмотрим, как арифметические операторы используются вместе с условием SELECT для увеличения значения поля Total из таблицы invoices базы данных sTunes. Арифметические операции полезны, когда необходимо считать налоги, надбавки и др.