Вопрос № 15. Язык SQL. Операторы манипулирования данными.
Оператор select реализует любые запросы на базе одной или нескольких таблиц. Один оператор select реализует все операции реляционной алгебры.
Общий вид оператора:
select [all/distinct] * /
from
[where ]
[group by
[hewing ]]
[order by ]
Оператор select возвращает в качестве результата отношение. Однако это отношение не удовлетворяет ограничениям реляционной модели т.к. оно может содержать одинаковые строки. Кроме того, результатом может быть и пустое отношение, а также значения вычисляемые.
Фраза all означает, что в результирующем отношении включены все строки и в том числе строки – дубликаты. Если не указать ни all ни distinct будет all. distinct – строки – дубликаты из результирующего отношения вычеркиваются. * - в результирующее отношение войдут все столбцы исходных таблиц. Если задан список, в результирующее отношение войдут только те столбцы, которые перечислены в списке. Список столбцов может создавать столбец вычисляемый т.е. не существующий в исходных таблицах. После выражения определяющего способ получения такого столбца можно задать его имя:
as From из каких таблиц осуществляется извлечение данных. В списке таблицы перечисляются через запятую.
where для однотабличных запросов реализует операцию выборки, т.е. в результирующее отношение включаются только те строки, которые удовлетворяют заданному условию.
В запросах на базе нескольких таблиц все исходные таблицы сначала соединяются в единую таблицу и во фразе where указываются условия соединения, как правило, естественное соединение.
group by создает группы строк с одинаковыми значениями в заданных столбцах. По этим группам можно получить некоторые итоги.
having осуществляет отбор групп в соответствии с заданными условиями.
order by обеспечивает упорядочение трок результирующего отношения по значениям заданных столбцов.
Операторы манипулирования: Insert into [()] values() оператор вставляет в конец таблицы новую строку, список столбцов может быть опущен, подразумевается, что ниже задается внужном порядке значение всех столбцов.
Student(fio,data_rog,gruppa)
Insert into gruppa, values (‘ivanov’, ‘10.02.1990’,’10pi’)
список столбцов может содержать не все столбцы, в этом случае отсутствующие столбцы примут неопределенное значение. Insert into student(fio,gruppa) values (‘petrov’, ’10pi’)
удаление delete from [where ]
если есть слово were то удаляются не все строки, если нет- все.
Delete from student where gruppa=’10pi’
Обновление update set =….=,
[where ]- оператор обновления заданных столбцов, если опущен, обновляются все.
Пример update student, set gruppa=’10pi’, where fio=’ivanov’
Select реализует любые запросы на базе 1 или нескольких таблиц, реализует все операции реляционной алгебры общий вид: select[all/ distined]*/ from [where ] [group by[ having ]][order by] оператор возвращает в результате отношение , однако оно не удавлетворяет ограничениям реляционноймодели, тк оно может содержать повторяющиеся строки, результатом может быть и пустое отношение, вычисляемые значения. Фраза all означает, что в результирующее отношение будут включены все строки, а также дубликаты. Distinet- дубликаты вычеркиваются. *- в результирюотнош войдут все столбцы исходных таблиц, если задан список то столбцы из списка. Список столбцов может содержать столбец вычисляемый те не существующий в исходной таблице. После выражения определяющ способ получения такого столбца можно задать его имя as . Фраза where для однотабличных запросов реализует операцию выборки, те в результате строки, удавлетворяющие условию. В запросах на базе нескольких таблиц, таблицы объединяются в единую leng- условие соединения, как правило естественное соединение. Фраза group by создает группы строк с одинаковыми значениями в заданных столбцах, по этим группам можно получить некоторые итоги. Having-отбор групп по заданному условию. Order
by- упорядочение строк результирующей таблицы по значениям заданных столбцов.
Оператор select реализует любые запросы на базе одной или нескольких таблиц. Один оператор select реализует все операции реляционной алгебры.
Общий вид оператора:
select [all/distinct] * /
from
[where ]
[group by
[hewing ]]
[order by ]
Оператор select возвращает в качестве результата отношение. Однако это отношение не удовлетворяет ограничениям реляционной модели т.к. оно может содержать одинаковые строки. Кроме того, результатом может быть и пустое отношение, а также значения вычисляемые.
Фраза all означает, что в результирующем отношении включены все строки и в том числе строки – дубликаты. Если не указать ни all ни distinct будет all. distinct – строки – дубликаты из результирующего отношения вычеркиваются. * - в результирующее отношение войдут все столбцы исходных таблиц. Если задан список, в результирующее отношение войдут только те столбцы, которые перечислены в списке. Список столбцов может создавать столбец вычисляемый т.е. не существующий в исходных таблицах. После выражения определяющего способ получения такого столбца можно задать его имя:
as From из каких таблиц осуществляется извлечение данных. В списке таблицы перечисляются через запятую.
where для однотабличных запросов реализует операцию выборки, т.е. в результирующее отношение включаются только те строки, которые удовлетворяют заданному условию.
В запросах на базе нескольких таблиц все исходные таблицы сначала соединяются в единую таблицу и во фразе where указываются условия соединения, как правило, естественное соединение.
group by создает группы строк с одинаковыми значениями в заданных столбцах. По этим группам можно получить некоторые итоги.
having осуществляет отбор групп в соответствии с заданными условиями.
order by обеспечивает упорядочение трок результирующего отношения по значениям заданных столбцов.
Операторы манипулирования: Insert into [()] values() оператор вставляет в конец таблицы новую строку, список столбцов может быть опущен, подразумевается, что ниже задается внужном порядке значение всех столбцов.
Student(fio,data_rog,gruppa)
Insert into gruppa, values (‘ivanov’, ‘10.02.1990’,’10pi’)
список столбцов может содержать не все столбцы, в этом случае отсутствующие столбцы примут неопределенное значение. Insert into student(fio,gruppa) values (‘petrov’, ’10pi’)
удаление delete from
если есть слово were то удаляются не все строки, если нет- все.
Delete from student where gruppa=’10pi’
Обновление update
[where
Пример update student, set gruppa=’10pi’, where fio=’ivanov’
Select реализует любые запросы на базе 1 или нескольких таблиц, реализует все операции реляционной алгебры общий вид: select[all/ distined]*/
by- упорядочение строк результирующей таблицы по значениям заданных столбцов.