- •Практика по созданию бд.
- •Часть 2. Язык sql
- •Простейшая инструкция select для одной таблицы
- •Простейшая инструкция select для нескольких таблиц. Inner join
- •Полная инструкция select. Предложения
- •Предложение order by (Сортировка)
- •Предикаты Top n, distinct
- •Занятие 3. Инструкция select
- •Фильтрация. Операторы or, and, in, is null.
- •Фильтрация. Логический оператор like
- •Условным оператором iif
- •Запрос с параметром
Полная инструкция select. Предложения
SELECT … <имена выводимых полей>
FROM … <имя таблицы (таблиц)>
WHERE … <условия отбора данных>
GROUP BY … <поля группировки>
HAVING … <условия отбора в группе>
ORDER BY … <поля сортировки>
---------------------------------------------------------------------------------------------------------------------------------
Предложение order by (Сортировка)
SELECT
… <имена
выводимых полей> FROM
… <имя
таблицы (таблиц)> WHERE
… <условия
отбора данных> GROUP
BY
… <поля
группировки> HAVING
… <условия
отбора в группе> ORDER
BY
… <поля
сортировки>
FROM таблицы
ORDER BY поля сортировки <ASC/DESC>
ASC (ascending - восходящий)
DESC (descending - нисходящий)
Пример сортировки для одной таблицы
Один уровень сортировки Два уровня сортировки
Студенты |
|
Группа |
Фамилия |
1 |
Большаков |
1 |
Глубоков |
3 |
Максимов |
1 |
Асеев |
2 |
Кузин |
3 |
Ампилогов |
3 |
Цаплин |
3 |
Хайрулин |
2 |
Астахов |
2 |
Вишневский |
2 |
Воробьев |
3 |
Щичко |
1 |
Ярема |
3 |
Юхтин |
1 |
Автономов |
3 |
Якушев |
2 |
Шахрай |
2 |
Яковлев |
SELECT Группа, Фамилия
FROM Студенты
ORDER BY Фамилия ASC
SELECT Группа, Фамилия
FROM Студенты
ORDER BY Группа DESC, Фамилия ASC
Группа
Фамилия
3
Ампилогов
3
Максимов
3
Хайрулин
3
Цаплин
3
Щичко
3
Юхтин
3
Якушев
2
Астахов
2
Вишневский
2
Воробьев
2
Кузин
2
Шахрай
2
Яковлев
1
Автономов
1
Асеев
1
Большаков
1
Глубоков
1
Ярема
Группа
Фамилия
1
Автономов
3
Ампилогов
1
Асеев
2
Астахов
1
Большаков
2
Вишневский
2
Воробьев
1
Глубоков
2
Кузин
3
Максимов
3
Хайрулин
3
Цаплин
2
Шахрай
3
Щичко
3
Юхтин
2
Яковлев
3
Якушев
1
Ярема
Ведомость
ID_C
Оценка
ID_Д
1
3
1
1
2
2
1
3
3
2
4
1
2
5
2
2
4
3
3
2
2
3
3
3
4
4
1
4
3
3
5
2
1
5
3
2
5
4
3
Студенты
Фамилия
Имя
Отчество
Ак
Группа
ID
Васильева
Надежда
Петровна
103
1
Тюрин
Николай
Николаевич
103
2
Паневкина
Лариса
Ивановна
101
3
Пахомов
Петр
Сергеевич
101
4
Маркова
Любовь
Анатольевна
102
5
Дисциплины
ID
Дисциплина
1
Информатика
2
Микроэкономика
3
Иностранный
SELECT Оценка, [Ак группа], Фамилия, FROM
Студенты INNER JOIN Ведомость ON
Студенты.ID = Ведомость.ID_C ORDER
BY Оценка DESC, [Ак группа] ASC
SELECT [Ак группа], Оценка, Фамилия, FROM
Студенты INNER JOIN Ведомость ON
Студенты.ID = Ведомость.ID_C ORDER
BY [Ак группа] ASC, Оценка DESC
Ак
группа
Оценка
Фамилия
101
4
Пахомов
101
3
Паневкина
101
3
Пахомов
101
2
Паневкина
102
4
Маркова
102
3
Маркова
102
2
Маркова
103
5
Тюрин
103
4
Тюрин
103
4
Тюрин
103
3
Васильева
103
3
Васильева
103
2
Васильева
Оценка
Ак
группа
Фамилия
5
103
Тюрин
4
101
Пахомов
4
102
Маркова
4
103
Тюрин
4
103
Тюрин
3
101
Паневкина
3
101
Пахомов
3
102
Маркова
3
103
Васильева
3
103
Васильева
2
101
Паневкина
2
102
Маркова
2
103
Васильева
