Similar presentations:
Ограничения на количество выбираемых строк
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;
А.М. Гудов