Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мои билеты.docx
Скачиваний:
7
Добавлен:
27.09.2019
Размер:
2.85 Mб
Скачать

2. Изменение данных – команда update

Для внесения изменений в данные таблиц служит команда UPDATE, позволяющая выполнить как простое обновление данных в столбце, так и сложные операции модификации данных во множестве строк таблицы.

UPDATE <имя_таблицы>

SET {<имя_столбца> = { <выражение> | DEFAULT | NULL }} [,…,n]

{ [FROM {<имя_исходной_таблицы> } [,…,n] ]

[WHERE <условие_отбора> ]}

Имя таблицы – имя таблицы, в которой необходимо произвести изменение данных.

SET – с этого ключевого слова начинается блок, в котором определяется список изменяемых столбцов.

<имя столбца> = {<выражение> | DEFAULT | NULL } - для каждого изменяемого столбца нужно задать значение, которое он примет после выполнения изменения

UPDATE Учебный_план

SET Количечство_часов = Количество часов + 2

WHERE (Отчетность = ’экзамен’) AND (Семестр = 1)

SELECT *

FROM Учебный_план

WHERE (Отчетность = ‘экзамен’) AND (Семестр = 1)

  1. Удаление данных – команда delete

Удаление данных выполняется построчно. За одну операцию можно выполнить удаление как одной строки, так и нескольких тысяч строк.

DELETE <Имя_таблицы>

[WHERE <Условие_отбора>]

SELECT Учебный_план

WHERE (Отчетность = ‘э’) AND (Семестр = 1)

27. Sql. Команда создания таблицы. Примеры.

Создание таблицы выполняется при помощи команды CREATE TABLE.

CREATE TABLE имя_таблицы

({<определение_столбца> | <определение_ограничения_таблицы>} [,…,{<определение_столбца> | <определение_ограничения_таблицы>}] )

CREATE TABLE Студенты

(ID_Студент INTEGER NOT NULL,

Фамилия CHAR(30) NOT NULL,

Имя CHAR(15) NOT NULL,

Отчество CHAR(20) NOT NULL,

Номер_группы INTEGER NOT NULL,

Адрес CHAR(30),

Телефон CHAR(8),

PRIMARY KEY (ID_Студент) );

28. Sql. Извлечение данных (команда select). Примеры.

Основным инструментом выборки данных в языке SQL является команда SELECT. С помощью этой команды можно получить доступ к данным, представленным как совокупность таблиц практически любой сложности.

Чаще всего используется упрощенный вариант команды SELECT, имеющий следующий синтаксис:

SELECT <Список_выбора>

[INTO <Новая_таблица>]

FROM <Исходная_таблица>

[WHERE <Условие_отбора>]

[GROUP BY <Ключи_группировки>]

[HAVING <Условие_отбора>]

[ORDER BY <Ключи_сортировки> [ASC | DESC]]

Инструкция SELECT разбивается на отдельные разделы, каждый из которых имеет свое назначение. Обязательными являются только разделы SELECT и FROM, а остальные разделы могут быть опущены. Основное назначение радела SELECT – задание набора столбцов, возвращаемых после выполнения запроса, т.е. внешнего вида результата.

Пример из лабы 2:

Распределение реализованного блюда по кафе заданного типа.

SELET [Кафе].[Наименование], Sum([Реализует блюдо].[Количество порций]) AS «Всего порций»

FROM [Реализует] INNER JOIN [Кафе] ON [Кафе].[ID]=[Реализует].[ID]

WHERE (([Кафе].[Профиль]= «Детское кафе») AND ([Блюдо].[Название блюда]= «Мороженное»)

GROUP BY [Название кафе]

ORDER BY «Всего порций» DESC

29. Sql. Типы соединений таблиц в команде select.

Ключевое слово INNER - этот тип связи используется по умолчанию. Указание сочетания INNER JOIN равносильно указанию только слова JOIN. В результат запроса включаются пары строк, удовлетворяющие критерию связывания в обеих таблицах. Порядок таблиц неважен. Строки из левой и правой таблиц, для которых не имеется пары в связанной таблице, в результат не включаются.

Таблица Person Таблица City

Name

City_ID

Андрей

1

Леонид

2

Сергей

1

Григорий

4

ID

Name

1

Москва

2

СПБ

3

Казань

Select * From

Person Inner Join City on Person.Ciy_ID=City.ID

Person.Name

P.City_ID

City.ID

City.Name

Андрей

1

1

Москва

Леонид

2

2

СПБ

Сергей

1

1

Москва

Результат:

Ключевое слово OUTER – присоединение таблиц с необязательным присутствием записи в таблице. Ключевое слово LEFT [OUTER] (RIGHT [OUTER]) - в результат будут включены все строки левой (правой) таблицы, независимо от того, есть для них соответствующая строка в правой (левой) таблице или нет. В случае отсутствия строки в правой (левой) таблице для столбцов правой (левой) таблицы, включенных в результат выборки, устанавливается значение NULL.

Пример Left

SELECT * FROM

Person.City_ID = City.ID

Person.Name

P.City_ID

City.ID

City.Name

Андрей

1

1

Москва

Леонид

2

2

СПБ

Сергей

1

1

Москва

Григорий

4

NULL

NULL

Результат:

NULL

NULL

3

казань

В примере Right результатом будет такая же таблица, только последняя строка будет выглядеть так:

Ключевое слово FULL [OUTER] - в результат будут включены все строки как правой, так и левой таблицы. Применение ключевого слова FULL [OUTER] можно рассматривать как одновременное применение ключевых слов LEFT [OUTER] и RIGHT[OUTER].

SELECT * FROM Person.FULL OUTER JOIN CITY ON Person.City_ID = City.ID

Ключевое слово CROSS – декартово произведение