- •Практика по созданию бд.
- •Часть 2. Язык sql
- •Простейшая инструкция select для одной таблицы
- •Простейшая инструкция select для нескольких таблиц. Inner join
- •Полная инструкция select. Предложения
- •Предложение order by (Сортировка)
- •Предикаты Top n, distinct
- •Занятие 3. Инструкция select
- •Фильтрация. Операторы or, and, in, is null.
- •Фильтрация. Логический оператор like
- •Условным оператором iif
- •Запрос с параметром
Занятие 3. Инструкция select
Фильтрация. Операторы or, and, in, is null.
SELECT
… <имена
выводимых полей> FROM
… <имя
таблицы (таблиц)> WHERE
… <условия
отбора данных> GROUP
BY
… <поля
группировки> HAVING
… <условия
отбора в группе> ORDER
BY
… <поля
сортировки>
SELECT … <имена выводимых полей>
FROM … <имя таблицы (таблиц)>
WHERE … <условия отбора данных>
Для отбора, в предложении WHERE, применяются операции сравнения с использованием логических операндов и операторов:
= равно,
<> неравно,
< меньше,
<= меньше или равно,
> больше,
>= больше или равно
OR оператор “ИЛИ”
AND оператор “И”
IN ( знач1, знач2, … значN ) значение из списка в скобках,
IS NULL значение NULL (пусто).
Студенты
Фамилия
Дата
Пол
Группа
ID
Васильева
23.11.1998
Ж
103
1
Тюрин
13.09.1997
М
103
2
Паневкина
11.01.1998
Ж
101
3
Пахомов
15.12.1997
М
101
4
Маркова
17.07.1998
Ж
5
Большаков
29.12.1997
М
103
6
Глубоков
10.02.1996
М
101
7
Брызгалов
01.03.1996
М
102
8
Максимов
07.05.1998
М
102
9
Асеева
11.07.1997
Ж
101
10
Ведомость
ID_С
Оценка
ID_Д
1
3
1
1
2
2
1
5
3
2
4
1
2
5
2
2
4
3
3
2
2
3
5
3
4
4
1
…
…
…
10
2
1
10
3
2
10
4
3
Дисциплины
ID
Дисциплина
1
Информатика
2
Микроэкономика
3
Иностранный
Фамилия
Пол
Группа
Паневкина
Ж
101
Пахомов
М
101
Глубоков
М
101
Асеева
Ж
101
SELECT Фамилия, Пол,
Группа FROM
Студенты WHERE
Группа = 101
SELECT Фамилия, Пол,
Группа FROM
Студенты (вар.1)
WHERE
Группа = 101 OR
Группа = 103 (вар.2)
WHERE
Группа IN
(101, 103)
Фамилия
Пол
Группа
Васильева
Ж
103
Тюрин
М
103
Паневкина
Ж
101
Пахомов
М
101
Большаков
М
103
Глубоков
М
101
Асеева
Ж
101
Фамилия
Пол
Группа
Васильева
Ж
103
Паневкина
Ж
101
Асеева
Ж
101
SELECT Фамилия, Пол,
Группа FROM
Студенты (вар.1)
WHERE
Группа IN
(101, 103)
AND Пол
= “Ж” (вар.2) WHERE
Группа =101 OR
Группа=103 AND
Пол =
“Ж” (вар.3) WHERE
Группа =101 AND
Пол =
“Ж” OR
Группа=103 AND
Пол =
“Ж” (вар.4) WHERE
(Группа =101 OR
Группа=103) AND
Пол =
“Ж”
Фамилия
Группа
Оценка
Паневкина
101
2
Глубоков
101
2
Асеева
101
2
SELECT Фамилия, Группа,
Оценка FROM
Студенты INNER JOIN
Ведомость ON
Студенты.ID=Ведомость.ID_C WHERE
Группа = 101
AND
Оценка = 2
SELECT Фамилия FROM
Студент WHERE
Группа
IS NULL
Фамилия
Маркова
