27
Ограничение и сортировка выходных данных 2

Ограничение и сортировка выходных данных

Embed Size (px)

Citation preview

Ограничение и сортировка выходных данных

2

2-2-22 KBTU

Ограничение и сортировка выходных данных

Рассматриваемые вопросы

• Ограничение количества строк, возвращаемых запросом.

• Сортировка возвращаемых строк.

2-2-33 KBTU

Ограничение и сортировка выходных данных

Ограничение количества выбираемых строк путем отбора

“выбрать всех служащих отдела

90”

EMPLOYEES

2-2-44 KBTU

Ограничение и сортировка выходных данных

Ограничение количества выбираемых строк

• Количество возвращаемых строк можно ограничить с помощью предложения WHERE .

• Предложение WHERE следует за предложением FROM.

SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...}FROM таблица[WHERE условие(я)];

2-2-55 KBTU

Ограничение и сортировка выходных данных

Использование предложения WHERE

SELECT employee_id, last_name, job_id, department_idFROM employeesWHERE department_id = 90;

2-2-66 KBTU

Ограничение и сортировка выходных данных

Символьные строки и даты

• Символьные строки и даты заключаются в апострофы.

• В символьных значениях различаются регистры символов, а в датах – форматы.

• Формат дат по умолчанию – DD-MON-RR (число-месяц-год).

SELECT last_name, job_id, department_idFROM employeesWHERE last_name = 'Goyal';

2-2-77 KBTU

Ограничение и сортировка выходных данных

Операторы сравнения

Оператор

=

>

>=

<

<=

<>

Значение

Равно

Больше, чем

Больше или равно

Меньше, чем

Меньше или равно

Не равно

2-2-88 KBTU

Ограничение и сортировка выходных данных

Использование операторов сравнения

SELECT last_name, salaryFROM employeesWHERE salary <= 3000;

2-2-99 KBTU

Ограничение и сортировка выходных данных

Прочие операторы сравненияОператор

BETWEEN...AND...

IN(список)

LIKE

IS NULL

Значение

Находится в диапазоне от одного значения до другого (включительно)

Совпадает с каким-либо значением списка

Соответствует символьному шаблону

Является неопределенным значением

2-2-1010 KBTU

Ограничение и сортировка выходных данных

Использование оператора BETWEEN

Условие BETWEEN используется для вывода строк на основе диапазона значенийSELECT last_name, salaryFROM employeesWHERE salary BETWEEN 2500 AND 3500;

Нижняя граница

Верхняя граница

2-2-1111 KBTU

Ограничение и сортировка выходных данных

Использование оператора IN

• Условие принадлежности IN используется для• проверки на вхождение значений в список.

SELECT employee_id, last_name, salary, manager_idFROM employeesWHERE manager_id IN (100, 101, 201);

2-2-1212 KBTU

Ограничение и сортировка выходных данных

Использование оператора LIKE

• Условие LIKE используется для поиска символьных значений по шаблону с метасимволами.

• Условия поиска могут включать алфавитные и цифровые символы:– % обозначает ноль или много символов;– _ обозначает один символ.

SELECT first_nameFROM employeesWHERE first_name LIKE 'S%';

2-2-1313 KBTU

Ограничение и сортировка выходных данных

Использование оператора LIKE

• Метасимволы можно комбинировать.

• Для поиска "%" или "_" можно использовать идентификатор ESCAPE .

SELECT last_nameFROM employeesWHERE last_name LIKE '_o%';

2-2-1414 KBTU

Ограничение и сортировка выходных данных

Использование оператора IS NULL

С помощью оператора IS NULL производитсяпроверка на неопределенные значения.SELECT last_name, manager_idFROM employeesWHERE manager_id IS NULL;

2-2-1515 KBTU

Ограничение и сортировка выходных данных

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

Оператор

AND

OR

NOT

Значение

Возвращает результат ИСТИННО, если выполняются оба условия.

Возвращает результат ИСТИННО, если выполняется любое из условий.

Возвращает результат ИСТИННО, если следующее условие не выполняется.

2-2-1616 KBTU

Ограничение и сортировка выходных данных

Использование оператора AND

Оператор AND (“И“) требует выполнения обоих условий.SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >=10000AND job_id LIKE '%MAN%';

2-2-1717 KBTU

Ограничение и сортировка выходных данных

Использование оператора OR

SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000OR job_id LIKE '%MAN%';

Оператор OR (“ИЛИ“) требует выполнения любого из условий.

2-2-1818 KBTU

Ограничение и сортировка выходных данных

Использование оператора NOT

SELECT last_name, job_idFROM employeesWHERE job_id NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

2-2-1919 KBTU

Ограничение и сортировка выходных данных

Приоритеты операторов

Изменить стандартную последовательность вычислений можно с помощью круглых скобок.

Порядок вычисления Оператор 1 Арифметические операторы

2 Оператор конкатенации3 Операторы сравнения4 IS [NOT] NULL, LIKE, [NOT] IN5 [NOT] BETWEEN6 NOT7 AND8 OR

2-2-2020 KBTU

Ограничение и сортировка выходных данных

Приоритеты операторов

SELECT last_name, job_id, salaryFROM employeesWHERE job_id = 'SA_REP'OR job_id = 'AD_PRES'AND salary > 15000;

2-2-2121 KBTU

Ограничение и сортировка выходных данных

Приоритеты операторов

Использование скобок для изменения порядка вычислений.SELECT last_name, job_id, salaryFROM employeesWHERE (job_id = 'SA_REP'OR job_id = 'AD_PRES')AND salary > 15000;

2-2-2222 KBTU

Ограничение и сортировка выходных данныхПредложение ORDER BY

• Предложение ORDER BY используется для сортировки строк– ASC: сортировка по возрастанию (используется

по умолчанию) – DESC: сортировка по убыванию

• В команде SELECT предложение ORDER BY указывается последним.

SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date;

2-2-2323 KBTU

Ограничение и сортировка выходных данных

Сортировка в порядке убывания

SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date DESC;

2-2-2424 KBTU

Ограничение и сортировка выходных данных

Сортировка по псевдониму столбцаSELECT employee_id, last_name, salary*12 annsalFROM employeesORDER BY annsal;

2-2-2525 KBTU

Ограничение и сортировка выходных данных

Сортировка по нескольким столбцам• Последовательность сортировки определяется

порядком столбцов в предложении ORDER BY.

• Можно сортировать по столбцу, не входящему в SELECT список.

SELECT last_name, department_id, salaryFROM employeesORDER BY department_id, salary DESC;

2-2-2626 KBTU

Ограничение и сортировка выходных данных

Итоги

• Использование предложения WHERE для ограничения количества выводимых строк– Условия сравнения– Условия BETWEEN, IN, LIKE и NULL – Логические операторы AND, OR и NOT

• Использование предложения ORDER BY для сортировки выходных результатов

SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...}FROM таблица[WHERE условие(я)][ORDER BY {столбец, выражение, псевдоним} [ASC|DESC]];

2-2-2727 KBTU

Ограничение и сортировка выходных данных

Обзор практического занятия

• Выборка данных и изменение последовательности вывода строк

• Ограничение количества возвращаемых строк с помощью предложения WHERE

• Сортировка строк с помощью предложения ORDER BY