Оценки |
|||
opnum |
osname |
odate |
ocen |
001 |
001 |
11/01/01 |
5 |
001 |
002 |
11/01/01 |
4 |
001 |
003 |
11/01/01 |
3 |
003 |
001 |
15/01/01 |
5 |
003 |
003 |
16/01/01 |
2 |
003 |
003 |
20/01/01 |
4 |
Структура таблицы Преподаватель:
pnum – уникальный номер преподавателя
pname – фамилия преподавателя
pcaf – кафедра, на которой он работает
Структура таблицы Студент:
snum – уникальный номер студента
sname – фамилия студента
sgrp – группа, в которой он обучается
spdp – номер преподавателя – руководителя дипломной работы
Структура таблицы Оценка:
opnum – номер преподавателя, поставившего оценку
osname – номер студента, получившего оценку
odate – дата получения оценки
ocen – оценка
Запрос выборки – это ядро SQL, наиболее часто используемое средство этого языка. Выборка информации из базы данных осуществляется по следующей команде:
SELECT <список полей>
FROM <список таблиц>
WHERE <спецификация выбора строк>
GROUPEBY <спецификация выбора группировки>
HAVING <спецификация выбора групп>
ORDERBY < спецификация сортировки>
Вся команда может быть набрана в одной строке. Символ новой строки при анализе команды трактуется системой как пробел. Любой запрос должен заканчиваться точкой с запятой, иначе возникнет ошибка.
Рассмотрим простейшие команды SQL на примере одной таблицы. Параметр список полей может задаваться «*», иначе список полей через запятую. Последовательность имён в списке может быть произвольной и не совпадать с последовательностью имён в таблице.
Пример 1:
SELECT * FROM Преподаватель;
Получим всю таблицу Преподаватель.
Пример 2:
SELECTpcafFROM Преподаватель;
Получим:
pcaf |
К-1 |
К-1 |
К-2 |
Перед параметром список полей может быть задано ключевое слово ALL или DISTINCT, т.е. показывать или нет повторяющиеся строки таблицы. ALL используется по умолчанию.
Пример:
SELECT DISTINCT pcaf FROM Преподаватель;
Получим:
pcaf |
К-1 |
К-2 |
Т.о. оператор SELECTDISTINCT <список полей> FROM <список таблиц> реализует операцию проекция в реляционной алгебре.
Параметр Where определяет условное выражение, которому должны удовлетворять строки, включаемые в таблицу результатов. В выражениях могут использоваться операции сравнения («=», «<», «>», «=<», «=>», «< >»), а также логические операции AND, OR, NOT и специальные опреаторы.
Пример 1:
SELECT pnum, pname
FROM
Пример 2:
SELECT osnum, ocen
FROM оценка
WHERE opnum = «001»
AND ocen > 2
AND NOT ocen = 5;
Логические выражения могут содержать специальные операторы. К ним относятся IN, BETWEEN, LIKE, IS NULL. Оператор IN имеет следующий формат:
имя_поля IN (значение 1, значение 2, … )
Пример:
SELECT * FROM студент
WHERE sgrp IN («Г-1», «Г-3»);
Результат:
snum |
sname |
sgrp |
spdp |
001 |
С-1 |
Г-1 |
001 |
004 |
С-4 |
Г-3 |
Оператор Between имеет следующий формат:
имя_поля BETWEEN значение 1 AND значение 2
Пример:
SELECT osnum, odate, ocen
FROM оценка
WHERE ocen BETWEEN 3 AND 4;
Результат:
osname |
odate |
ocen |
002 |
11/01/01 |
4 |
003 |
11/01/01 |
3 |
003 |
20/01/01 |
4 |
Оператор LIKE служит для поиска подстрок в текстовых полях и имеет формат:
имя_поля LIKE «шаблон»
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.