ВЫБОРКА ДАННЫХ
104.00K
Category: databasedatabase

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

1. ВЫБОРКА ДАННЫХ

Ограничения на количество
выбираемых строк
1
А.М. Гудов

2.

Предложение ORDER BY
Используется для сортировки строк.
• ASC – сортировка по возрастанию, (используется
по умолчанию).
• DESC – сортировка по убыванию.
• Предложение ORDER BY является в команде
SELECT последним.
SQL> SELECT
2 FROM
3 ORDER BY
2
last_name, dept_id, start_date
s_emp
last_name;
А.М. Гудов

3.

Предложение ORDER BY
• По умолчанию - сортировка возрастающем порядке.
• Для сортировки в обратном порядке используется
слово DESC.
• Возможна сортировка по выражениям или
псевдонимам.
SQL> SELECT
last_name EMPLOYEE, start_date
2 FROM
s_emp
3 ORDER BY EMPLOYEE DESC;
Место неопределенных значений:
– При сортировке по возрастанию - последние.
– При сортировке по убыванию - первые.
3
А.М. Гудов

4.

Сортировка по нескольким столбцам
Сортировка по позициям для экономии времени.
SQL> SELECT
2 FROM
3 ORDER BY
last_name, salary * 12
s_emp
2;
Сортировка по нескольким столбцам
SQL> SELECT
2 FROM
3 ORDER BY
last_name, dept_id, salary
s_emp
dept_id, salary DESC;
Последовательность сортировки определяется порядком
столбцов в списке ORDER BY.
Сортировать можно и по столбцам, не входящим в список
SELECT.
4
А.М. Гудов

5.

Ограничение количества строк
Количество выбираемых строк можно ограничить с
помощью предложением WHERE.
• Предложение WHERE следует за предложением
FROM.
• Условия состоят из:
– имен столбцов, выражений, констант;
– операторов сравнения;
– литералов.
SQL> SELECT
2 FROM
3 WHERE
5
last_name, dept_id, salary
s_emp
dept_id = 42;
А.М. Гудов

6.

Строки символов и даты
• Строки символов и даты заключаются в
апострофы.
• Числовые значения в апострофы не заключаются.
• В символьных значениях различаются символы
верхнего и нижнего регистров.
• Формат даты по умолчанию - “DD-MON-YY”
(число-месяц-год).
SQL> SELECT
2 FROM
3 WHERE
6
first_name, last_name, title
s_emp
last_name = 'Magee';
А.М. Гудов

7.

Операторы сравнения и логические
• Логические операторы сравнения
= > >= < <=
• Операторы сравнения SQL
– BETWEEN ... AND...
– IN(list)
– LIKE
– IS NULL
• Логические операторы
– AND
– OR
– NOT
7
А.М. Гудов

8.

Отрицание
Иногда проще исключить строки, которые явно не
требуются:
• Логические операторы
!= <> ^=
• Операторы SQL
– NOT BETWEEN
– NOT IN
– NOT LIKE
– IS NOT NULL
8
А.М. Гудов

9.

Операторы BETWEEN и IN
Оператор BETWEEN используется для проверки
вхождения значения в интервал значений (включая
границы интервала).
SQL> SELECT
2 FROM
3 WHERE
4
first_name, last_name, start_date
s_emp
start_date BETWEEN '09-may-91'
AND '17-jun-91';
Оператор IN используется для проверки
принадлежности значения к списку.
SQL> SELECT
2 FROM
3 WHERE
9
id, name, region_id
s_dept
region_id IN (1,3);
А.М. Гудов

10.

Оператор LIKE
• Используется для поиска строковых значений с
помощью метасимволов (wildcards).
• Условия для поиска могут содержать
символьные литералы или числа:
– "%" означает отсутствие или некоторое
количество символов;
– "_" означает один символ.
SQL> SELECT
2 FROM
3 WHERE
10
last_name
s_emp
last_name LIKE 'M%';
А.М. Гудов

11.

Оператор LIKE (продолжение)
• Может использоваться в качестве быстрого
эквивалента некоторых операций BETWEEN.
SQL> SELECT
2 FROM
3 WHERE
last_name, start_date
s_emp
start_date LIKE '%91';
• В критерии поиска символы можно сочетать.
SQL> SELECT
2 FROM
3 WHERE
last_name
s_emp
last_name LIKE '_a%';
• Поиск символов "%" и "_" требует
использования идентификатора ESCAPE.
11
А.М. Гудов

12.

Оператор IS NULL
• Неопределенные значения проверяются с
помощью оператора IS NULL.
• Пользоваться оператором “=“ не следует.
SQL> SELECT
id, name,
credit_rating
2 FROM s_customer
3 WHEREsales_rep_id IS NULL;
12
А.М. Гудов

13.

Выборка по нескольким условиям
• Использование сложных критериев.
• Сочетание условий с помощью операторов AND и OR.
• AND требует выполнения обоих условий.
SQL>
2
3
4
SELECT
FROM
WHERE
AND
last_name, salary, dept_id, title
s_emp
dept_id = 41
title = 'Stock Clerk';
• OR требует выполнения хотя бы одного из
условий.
SQL>
2
3
4
13
SELECT
FROM
WHERE
OR
last_name, salary, dept_id, title
s_emp
dept_id = 41
title = 'Stock Clerk';
А.М. Гудов

14.

Порядок выполнения операций
Стандартный порядок выполнения
операций отменяется скобками.
Порядок вычисления
Оператор
1
Все операторы сравнения
2
AND
3
OR
14
А.М. Гудов

15.

Порядок выполнения операций (примеры)
Вывод информаци о служащих отдела 44 с зарплатой
1000 и более и о всех служащих отдела 42.
SQL>
2
3
4
5
SELECT
FROM
WHERE
AND
OR
last_name, salary, dept_id
s_emp
salary >= 1000
dept_id = 44
dept_id = 42;
Вывод информации о всех служащих отделов 44 и 42,
зарплата которых составляет 1000 и более.
SQL>
2
3
4
5
15
SELECT
FROM
WHERE
AND
OR
last_name, salary, dept_id
s_emp
salary >= 1000
(dept_id = 44
dept_id = 42);
А.М. Гудов

16.

Заключение
Операторы, влияющие на ограничения выбираемых по
запросу строк:
WHERE
ORDER BY
Синтаксис оператора выборки данных:
SELECT
FROM
[WHERE
[ORDER BY
16
[DISTINCT] {*, column [alias], ...}
table
condition(s)]
{column, expr, alias} [ASC|DESC]];
А.М. Гудов

17.

Практическое занятие (обзор)
• Выборка данных и изменение порядка
вывода строк
• Ограничение количества строк с помощью
предложения WHERE
• Использование метода обозначения
псевдонимов столбцов двойными кавычками
17
А.М. Гудов

18.

Практическое занятие (задания)
1. Возможна ли сортировка по столбцу, который не был выбран? (Да/Нет)
2. Будет ли успешна выполнена следующая команда? (Да/Нет)
SQL> SELECT
2 FROM
3 WHERE
last_name, title, salary Ann_sal
s_emp
last_name = ‘Dancs’;
3. Будет ли успешна выполнена следующая команда? (Да/Нет)
SQL> SELECT
2 FROM
3 WHERE
last_name, title, salary Ann_sal
s_emp
last_name = ‘Dancs’;
4. Сколько ошибок содержит следующая команда?
SQL>
2
3
4
5
18
SELECT
salary
FROM
WHERE
AND
id, last_name,
x 12 ANNUAL SALARY
s_emp
sal > 3000
start_date LIKE %84;
А.М. Гудов
English     Русский Rules