Опубликован: 16.01.2007 | Уровень: для всех | Доступ: свободно
Лекция 6:

Логические операторы

< Лекция 5 || Лекция 6: 123456 || Лекция 7 >

Упорядочивание данных

Рассмотрим вопрос о том, как можно изменить порядок вывода данных, извлеченных из таблиц MySQL, используя предложение ORDER BY оператора SELECT.

Извлекаемые до сих пор данные всегда выводились в том порядке, в котором они были сохранены в таблице. В действительности SQL позволяет сортировать извлеченные данные с помощью предложения ORDER BY. Это предложение требует имя столбца, на основе которого будут сортироваться данные. Давайте посмотрим, как можно вывести имена сотрудников с упорядоченными по алфавиту фамилиями сотрудников (в возрастающем порядке).

SELECT l_name, f_name from
employee_data ORDER BY l_name;

А вот так сотрудников можно отсортировать по возрасту.

SELECT f_name, l_name, age
from employee_data
ORDER BY age;

Предложение ORDER BY может сортировать в возрастающем порядке ( ASCENDING или ASC ) или в убывающем порядке ( DESCENDING или DESC ) в зависимости от указанного аргумента.

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

SELECT f_name from employee_data
ORDER by f_name DESC;

Примечание: Возрастающий порядок ( ASC ) используется по умолчанию.

Задания

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

2. Выведите список сотрудников в убывающем порядке их стажа работы в компании.

3. Что делает следующий оператор?

SELECT emp_id, l_name, title, age
from employee_data ORDER BY
title DESC, age ASC;

4. Вывести список сотрудников (фамилию и имя), которые занимают должность "программист" или "разработчик Web" и отсортировать их фамилии по алфавиту.

Возможные решения

  1. mysql> SELECT f_name, l_name, salary
        -> from employee_data
        -> ORDER BY salary;
  2. mysql> SELECT f_name, l_name, yos
        -> from employee_data
        -> ORDER by yos DESC;
  3. Оператор выводит список сотрудников с идентификационным номером, должностью, и возрастом, отсортированный по должности в убывающем порядке и по возрасту в возрастающем порядке.
    mysql> SELECT emp_id, l_name, title, age
        -> from employee_data ORDER BY
        -> title DESC, age ASC;

    Примечание: Сначала сортируются должности в убывающем порядке. Затем для каждой должности сортируется возраст сотрудников в возрастающем порядке.

  4. mysql> SELECT l_name, f_name from employee_data
        -> where title IN ('программист',
        -> 'разработчик Web') ORDER BY l_name;
< Лекция 5 || Лекция 6: 123456 || Лекция 7 >
Александра Каева
Александра Каева
Здравствуйте! Студент ВУЗа может пройти проф.переподготовку и получить официальный документ?
Диляра Кенжебай
Диляра Кенжебай
для чего предназначены схемы баз данных?
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Сергей Пантелеев
Сергей Пантелеев
Россия, Москва