Рисунок 24. Запрос: города с населением не 300 и не 400 тысяч
Несколько условий можно объединять скобками, например из таблицы MAN нам необходимо вывести те строки, где людям 25 или 28 лет с именем Иван. Это можно сделать с помощью следующего запроса:
Очень важно понимать отличие AND от OR, например выведите авто с марками LADA и BMW — в этом запросе необходимо использовать инструкцию OR и ни в коем случае не AND.
Можно ли неравенство заменить на инструкцию NOT?
Да, в большинстве запросов можно так сделать.
Например, запросы
Как поменять несколько условий, перечисленных после WHERE в SQL-запросе, на обратные?
Вопрос не очень понятен, но предположим, у нас есть запрос, который возвращает все строки из таблицы AUTO с марками BMW и LADA.
Если необходимо посмотреть авто не BMW и LADA, то запрос обретет следующий вид:
Контрольные вопросы и задания для самостоятельного выполнения
1. Сколько строк вернет запрос?
2. Выберите из таблицы CITY (*) город, где 200 тысяч жителей (PEOPLES); город с наименованием Москва (CITYNAME).
3. Выберите из таблицы CITY города с населением (PEOPLES) не 500 тысяч жителей.
4. Выберите из таблицы AUTO (*) все синие AUDI (COLOR, MARK).
5. Выберите из таблицы AUTO номера (regnum) и марки (MARK) всех VOLVO и BMW.
6. Выберите из таблицы MAN имена, фамилии (FIRSTNAME, LASTNAME) и возраст людей (YEAROLD), которым больше 29 и меньше 35 лет.
Шаг 13. Сортировка результатов запросов
Данные, выводимые с помощью запроса SELECT, часто необходимо сортировать по одному или нескольким выводимым колонкам.
Для этого в языке SQL есть специальный оператор ORDER BY, который используется в команде SELECTи пишется в конце запроса. Для того чтобы изменить порядок сортировки на обратный, используется ключевое слово DESC.
ORDER BY используется для сортировки выводимых данных по заданным колонкам: от большего к меньшему, и наоборот.
Текстовые данные будут отсортированы от А до Я или же от Я до А — при использовании ключевого операнда DESC.
Числовые данные сортируются от меньшего числа к большему числу и от большего числа к меньшему при использовании ключевого операнда DESC.
Данные DATE также: от меньшей даты к большей, и наоборот.
Синтаксис
Где таблица — наименование таблицы, условия выборки которой могут быть объединены логическими операндами.
Примеры запросов
Выведите все записи из таблицы AUTO, отсортируйте автомобили по марке (MARK).
Рисунок 25. Выбрать из таблицы AUTO, отсортировать по марке
Выведите все записи из таблицы AUTO, отсортируйте автомобили по дате создания и цвету в обратном порядке (RELEASED, MARK).
Рисунок 26. Запрос к таблице AUTO: сортировка по дате и цвету авто
Сортировка по двум колонкам RELEASED от меньшей даты к большей, MARK от A—Z.
Выберите только те записи из таблицы MAN, где возраст (YEAROLD) человека больше 30 лет; отсортируйте выбранные записи по возрасту, сортировку произведите в обратном порядке.
Рисунок 27. Выбор из таблицы MAN, где возраст больше 30 лет; сортировка по году выпуска
Пример использования ORDER BY и WHERE
Выберите наименования городов (CITYNAME) и население (PEOPLES) из таблицы CITY, отсортируйте выбранные данные в обратном порядке по наименованию города и количеству населения (PEOPLES).
Рисунок 28. Запрос к CITY: сортировка по названию и населению в обратном порядке
Следует пояснить, как работает сортировка по нескольким колонкам.
Сначала данные сортируются по первой колонке в инструкции ORDER BY, затем уже в рамках этой сортировки данные сортируются по второму признаку, по второй колонке из инструкции ORDER BY, затем третьей и так далее.
Команда сортировки ORDER BY выполняется в запросе последней, сортируется итоговое выражение запроса.
Это важная информация, и она пригодится нам в дальнейшем, при создании сложных SQL-запросов.
Как сделать, если я хочу одну колонку отсортировать по возрастанию, а две другие по убыванию?
Давайте рассмотрим пример.
Выберите наименования городов (CITYNAME) и население (PEOPLES) из таблицы CITY, отсортируйте выбранные данные по коду города (CITYCODE), в обратном порядке по наименованию города и количеству населения.
Читать дальше
Конец ознакомительного отрывка
Купить книгу