Структура команды выборки данных (SELECT) в SQL

Для извлечения записей из таблиц в SQLопределён оператор SELECT. С помощью этой команды осуществляется не только операция реляционной алгебры «выборка» (горизонтальное подмножество), но и предварительное соединение (join) двух и более таблиц. Это наиболее сложное и мощное средство SQL. Полный синтаксис оператора SELECT имеет следующий вид:

SELECT [ALL/DISTINCT] <список_выбора>

FROM <имя_таблицы>,..

[WHERE <условие> ]

[GROUP BY <имя_столбца>,..]

[HAVING <условие>]

[ORDER BY <имя_столбца>[ASC/DESC],…]

Данный оператор всегда начинается с ключевого слова SELECT и состоит из 6 разделов (предложений): SELECT, FROM, WHERE, GROUPBY, HAVING и ORDERBY. Только два из них – SELECT и FROM – являются обязательными. Если присутствуют все 6 разделов оператора, то они обрабатываются в следующем порядке:1)FROM. Определяются имена используемых одной или нескольких таблиц.2)WHERE. Выполняется прореживание строк таблицы, полученной в предыдущем разделе.3)GROUPBY. Образуются группы строк, имеющих одно и то же значение в указанном столбце.4)HAVING. Выполняется прореживание групп строк, полученных в предыдущем разделе.5)SELECT. Устанавливается, какие столбцы должны присутствовать в выходных данных.6)ORDERBY. Производится сортировка результатов выполнения оператора.Порядок разделов в операторе SELECT должен строго соблюдаться иначе это приведёт к появлению ошибок.

20.СУБД- программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных в актуальном состоянии, а также осуществлять к ней контрольный доступ.главной является функция — уметь выдавать ответы на поступающие запросы. Дело в том, что обычно базы данных содержат огромный объем информации, который пользователь не может в целом "переварить" и осмыслить. Он только может работать с отдельными "срезами" информациии извлекать их из БД с помощью запросов.

21.Операции реляционной алгебры Кодда:

1)Объединение - Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.

2)Пересечение - Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.

3)Разность - Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.

4)Декартово произведение - Отношение (A1, A2, …, Am, B1, B2, …, Bm), заголовок которого является сцеплением заголовков отношений A(A1, A2, …, Am) и B(B1, B2, …, Bm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B:(a1, a2, …, am, b1, b2, …, bm) таких, что(a1, a2, …, am)∈A,(b1, b2, …, bm)∈B.

5)Выборка-Отношение с тем же заголовком, что и у отношения A, и телом, состоящим из кортежей, значения атрибутов которых при подстановке в условие c дают значение ИСТИНА. c представляет собой логическое выражение, в которое могут входить атрибуты отношения A и/или скалярные выражения.

6)Проекция-Отношение с заголовком (X, Y, …, Z) и телом, содержащим множество кортежей вида (x, y, …, z), таких, для которых в отношении A найдутся кортежи со значением атрибута X равным x, значением атрибута Y равным y, …, значением атрибута Z равным z. При выполнении проекции выделяется «вертикальная» вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.

7)Естественное Соединение-Операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать.

8)Деление - Отношение с заголовком (X1, X2, …, Xn) и телом, содержащим множество кортежей (x1, x2, …, xn), таких, что для всех кортежей (y1, y2, …, ym) ∈ B в отношении A(X1, X2, …, Xn, Y1, Y2, …, Ym) найдется кортеж (x1, x2, …, xn, y1, y2, …, ym).