ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.04.2021
Просмотров: 1445
Скачиваний: 4
21
Та блица
1.5.
EXAM
_
MARKS
(
Экзаменационные
оценки
)
EXAM
_
ID
STUDENT
_
ID
SUBJ
_
ID
MARK
EXAM
_
DATE
145
12
10
5
12/01/2000
34
32
10
4
23/01/2000
75
55
10
5
05/01/2000
238
12
22
3
17/06/1999
639
55
22
NULL
22/06/1999
43
6
22
4
18/01/2000
… …
… …
… …
… …
… …
EXAM
_
ID
–
идентификатор
экзамена
,
STUDENT
_
ID
–
идентификатор
студента
,
SUBJ
_
ID
–
идентификатор
предмета
обучения
,
MARK
–
экзаменационная
оценка
,
EXAM
_
DATE
–
дата
экзамена
.
Та блица
1.6.
SUBJ
_
LECT
(
Учебные
дисциплины
преподавателей
)
LECTURER
_
ID
SUBJ
_
ID
24
24
46
46
74
74
108
108
276
276
328
328
… …
… …
LECTURER
_
ID
–
идентификатор
преподавателя
,
SUBJ
_
ID
–
идентификатор
предмета
обучения
.
В О П Р О С Ы
1.
К а кие
п оля
п рив ед енных
та блиц
яв ляются
п ерв ич ными
ключ а ми
?
2.
К а кие
д а нные
хра нятся
в
столбце
2
в
та блице
“Пр ед мет
обуч ения”
?
3.
К а к
п о
-
д ругому
на з ыв а ется
строка
?
Столбец
?
4.
Поч ему
мы
не
можем
з а п росить
д ля
п росмотра
п ер в ые
п ять
строк
?
22
2.
Вы б о р к
а
да н н ы х
(
о пер а то р
SELECT
)
2.1.
П ростей ш ие
SELECT-
з апросы
О п ера тор
SELECT
(
ВЫБРАТЬ
)
яз ыка
SQL
яв ляется
са мым
в а жным
и
са мым
ч а сто
исп ользуемым
оп ератор ом
.
О н
п ред на з на ч ен
д ля
в ы бо р ки
информа ции
из
та блиц
ба з ы
д а нных
.
У п р ощ енный
синта ксис
оп ера тора
SELECT
в ыгляд ит
след ующ им
обр а з ом
.
SELECT [DISTINCT]
<
спи со к
а тр и б уто в
>
FROM
<
спи со к
та б ли ц
>
[WHERE
<
усло ви е
вы б о р к
и
>
]
[ORDER BY
<
спи со к
а тр и б уто в
>
]
[GROUP BY
<
спи со к
а тр и б уто в
>
]
[HAVING
<
усло ви е
>
]
[UNION
<
вы р а ж ен и е
с
о пер а то р о м
SELECT
>
]
;
В
кв а д ра тных
скобка х
ука з а ны
э лементы
,
которые
могут
отсутств ов а ть
в
з а п росе
.
К люч ев ое
слов о
SELECT
сообщ а ет
ба з е
д а нных
,
ч то
д а нное
п ред ложение
яв ляется
з а п росом
на
и зв лечени е
информа ции
.
После
слов а
SELECT
ч ерез
з а п ятую
п ер еч исляются
на и м ено в а ни я
по лей
(
сп исок
а трибутов
),
сод ержимое
которых
з а п рашив а ется
.
О бяз а тельным
ключ ев ым
слов ом
в
п р ед ложении
-
з а п росе
SELECT
яв ляется
слов о
FROM
(
ИЗ
).
За
ключ ев ым
слов ом
FROM
ука з ыв а ется
сп исок
раз д еленных
з а п ятыми
имен
та бл иц
,
из
котор ых
из в лека ется
информа ция
.
Н а п ример
,
SELECT
NAME
,
SURNAME
FROM
STUDENT
;
Л юбой
SQL-
з а п рос
д олжен
з а ка нч ив а ться
симв олом
“
;
”
(
т о чка
с
за пят о й
)
.
23
Прив ед енный
з а п рос
осущ еств ляет
в ыборку
в сех
з на ч ений
п олей
NAME
и
SURNAME
из
та блицы
STUDENT
.
Е го
рез ульта том
яв ляется
та блица
след ующ его
в ид а
:
NAME
SURNAME
Ив а н
Ив а нов
Петр
Петр ов
Ва д им
Сид ор ов
Б орис
К уз нецов
О льга
Зайцева
А нд рей
Па в лов
Па в ел
К отов
А ртем
Л укин
А нтон
Петр ов
Ва д им
Б елкин
… …
… …
Поряд ок
след ов а ния
столбцов
в
э той
та блице
соотв етств ует
п оряд ку
п олей
NAME
и
SURNAME
,
ука з а нному
в
з а п росе
,
а
не
их
п оряд ку
в о
в ход ной
та блице
STUDENT
.
Е сли
необход имо
в ыв ести
з на ч ения
в сех
столбцов
та блицы
,
то
можно
в место
п ереч исления
их
имен
исп ол ьзов а ть
симв ол
“
*
”
(
з в езд оч ка
).
SELECT
*
FROM
STUDENT
;
В
д а нном
случ а е
в
р ез ульта те
в ып олнения
з а п роса
буд ет
п олуч ена
в ся
та блица
STUDENT
.
Е щ е
ра з
обра тим
в нима ние
на
то
,
ч то
п олуч а емые
в
рез ульта те
SQL-
з а п роса
та блицы
не
в
п олной
мере
отв еч а ют
оп ред елению
реляционного
отношения
.
В
ч а стности
,
в
них
могут
ока з а ться
кортежи
с
од ина ков ыми
з на ч ениями
а трибутов
.
Н а п ример
,
з а п рос
“Получ ить
сп исок
на з в а ний
город ов
,
гд е
п рожив а ют
студ енты
,
св ед ения
о
которых
на ход ятся
в
та блице
STUDENT
”
,
можно
з а п иса ть
в
след ующ ем
в ид е
SELECT
CITY
FROM
STUDENT
;
Е го
результа том
буд ет
та блица
24
CITY
О рел
К урск
Москв а
Б рянск
Л ип ецк
В оронеж
Б елгор од
В оронеж
NULL
В оронеж
… …
Вид но
,
ч то
в
та блице
в стреч а ются
од ина ков ые
строки
(
в ыд елены
жирным
шрифтом
).
Д ля
исключ ения
из
рез ульта та
SELECT
-
з а п роса
п ов торяющ ихся
з а п исей
исп ользуется
кл юч ев ое
слов о
DISTINCT
(
ОТЛИЧНЫЙ
).
Е сли
з а п рос
SELECT
из в лека ет
множеств о
п олей
,
то
DISTINCT
и сключа ет
д ублика ты
строк
,
в
которых
з на ч ения
в сех
в ыбр а нных
п олей
ид ентич ны
.
За п рос
“О п ред елить
сп исок
на з в а ний
р а зли чны х
город ов
,
гд е
п рожив а ют
студ енты
,
св ед ения
о
которых
на ход ятся
в
та блице
STUDENT
”
,
можно
з а п иса ть
в
след ующ ем
в ид е
.
SELECT
DISTINCT
CITY
FROM
STUDENT
;
В
результа те
п олуч им
та блицу
,
в
которой
д ублика ты
строк
исключ ены
.
CITY
О рел
К урск
Москв а
Б рянск
Л ип ецк
Воронеж
Б елгор од
NULL
… …
К люч ев ое
слов о
ALL
(
ВСЕ
),
в
отлич ие
от
DISTINCT
,
ока з ыв а ет
п ротив оп оложное
д ейств ие
,
то
есть
п ри
его
исп ол ьзов а нии
п ов торяющ иеся
строки
в ключа ют ся
в
соста в
в ыход ных
д а нных
.
Режим
,
з а д а в а емый
25
ключ ев ым
слов ом
ALL
,
д ейств ует
п о
умолч а нию
,
п оэ тому
в
реа льных
з а п роса х
д ля
э тих
целей
оно
п рактич ески
не
исп ользуется
.
Исп ользов а ние
в
оп ер а торе
SELECT
п ред ложения
,
оп ред еляемого
ключ ев ым
слов ом
WHERE
(
ГДЕ
),
п оз в оляет
з а д а в а ть
в ыражение
услов ия
(
п ред ика т
),
п ринима ющ ее
з на ч ение
и с т и на
или
л о ж ь
д ля
з на ч ений
п олей
строк
та блиц
,
к
которым
обращ а ется
оп ератор
SELECT
.
Пред ложение
WHERE
оп ред еляет
,
к а к ие
ст р ок и
ука за нны х
т а бли ц
д о лж ны
бы т ь
в ы бр а ны
.
В
та блицу
,
яв ляющ уюся
рез ульта том
з а п р оса
,
в ключ а ются
только
те
строки
,
д ля
которых
услов ие
(
п ред ика т
),
ука з а нное
в
п ред ложении
WHERE
,
п ринима ет
з на ч ение
и с т и на
.
П ример
.
Н а п иса ть
з а п рос
,
в ып олняющ ий
в ыборку
имен
(
NAME)
в сех
студ ентов
с
фа милией
(
SURNAME)
Петр о в
,
св ед ения
о
которых
на ход ятся
в
та блице
STUDENT.
SELECT
SURNAME
,
NAME
FROM
STUDENT
WHERE
SURNAME
=
‘
Петр о в
’
;
Рез ульта том
э того
з а п роса
буд ет
та блица
:
SURNAME
NAME
Петров
Петр
Петров
А нтон
В
з а д а в а емых
в
п ред ложении
WHERE
услов иях
могут
исп ользов а ться
оп ерации
сра в нения
,
оп р ед еляемые
след ующ ими
оп ератор а ми
:
=
(
ра в но
),
>
(
больше
),
<
(
меньше
),
>=
(
больше
или
ра в но
),
<=
(
меньше
или
рав но
),
<>
(
не
рав но
),
а
та кже
логич еские
оп ераторы
AND
,
OR
и
NOT
.
Н а п ример
,
з а п рос
д ля
п олуч ения
и м ен
и
ф а м и ли й
студ ентов
,
обуч а ющ ихся
на
т р ет ьем
кур се
и
п олуч а ющ их
стип енд ию
(
ра з мер
стип енд ии
бо льш е
нуля
)
буд ет
в ыгляд еть
та ким
образ ом
:
SELECT
NAME
,
SURNAME
FROM
STUDENT
WHERE
KURS
=
3
AND
STIPEND
>
0
;