Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Использование вычисляемых полей в SQL-запросах





Список полей в команде SELECT кроме полей может содержать выражения. Например, для вычисления стоимости обучения с учетом НДС в список полей следует включить выражение:

Специальность [Стоимость обучения]*(1+НДС) AS [Стоимость с учетом НДС]

Заголовком столбца для значений, полученных в результате вычисления выражения, будет Стоимость с учетом НДС.

Для вычисляемых полей допускается сортировка, задание условий отбора, расчет итоговых значений.

Например, необходимо упорядочить выборку по возрастанию значений стоимости с учетом НДС, в запрос следует добавить предложение

ORDER BY Специальность. [Стоимость обучения] *(1+НДС)

Если требуется найти итоговую стоимость в разрезе факультетов, необходимо выполнить группировку полученного по запросу объединения по наименованию факультета

GROUP BY Группа.[Номер факультета]

в список полей включить групповую операцию:

SUМ (Специальностъ.[Стоимость обучения]*(1+НДС))

Пример. Определить итоговую стоимость обучения с учетом НДС по номерам специальностей.

SELECT Специальность.[Номер специальности], Sum(Специальность. [Стоимость обучения] * (1+НДС)) AS [Итоговая стоимость с учетом НДС]

FROM Специальность INNER JOIN (Группа INNER JOIN Студент

ON Студент.[Номер группы] = Группа.[Номер группы]) ON Группа.[Номер специальности] = Специальность.[Номер специальности]

WHERE Студент.Коммерческий=Yes GROUP BY Специальность. [Номер специальности];

 

Задание 25. Составить SQL-запрос для получения справки по стоимости обучения коммерческих студентов с учетом НДС. Принять, что стоимость обучения с учетом НДС коммерческого студента равна стоимости обучения по выбранной им специальности, умноженной на (1+0,2), где 0,2 - величина НДС.

В справку выводить следующие сведения о студенте: Номер группы, Наименование специальности, Номер зачетной книжки, Фамилия и Стоимость обучения с учетом НДС.

Сведения о студентах упорядочить по убыванию значений Стоимость обучения с учетом НДС.

 

Задание 26. Составить SQL-запрос для получения справки, содержащей итоговые данные о стоимости обучения с учетом НДС по специальностям.

В справку выводить Наименование специальности и Итоговую стоимость обучения с учетом НДС.

Создание новой таблицы

Создание повой таблицы выполняется командой CREATE TABLE. В этой команде выполняется описания новой таблицы, ее полей и индексов.

Синтаксис команда:

CREATE TABLE таблица (поле_1 тип [(размер)] [NOT NULL] [индекс_1]

[, поле_2 тип [(размер)] [NOTNULL] [индекс_2] [,...]]

[,CONSTRAINT составной_Индекс [,...]])

где т аблица - имя создаваемой таблицы;

поле_1, поле_2 и т.д. – имена нолей, создаваемых в новой таблице. Таблица должна содержать хотя бы одно поле;

тип –тип данных поля в новой таблице;

размер – размер поля в символах (только для текстовых и двоичных полей);

индекс_1, ипдекс_2 – предложение CONSTRAINT, предназначенное для создания простого индекса;

составной_Индекс – предложение CONSTRAINT, предназначенное для создания составного индекса.

Примечание. Если для поля добавлено ограничение NOT NULL, то при добавлении новых записей это поле должно содержать допустимые данные.

 

Пример. Создается новая таблица с двумя текстовыми полями и числовым полем. Поле SSN делается ключевым полем.

CREATE TABLE НоваяТаблица (Имя TEXT, Фамилия TEXT, SSN INTEGER

CONSTRAINT МойИндекс PRIMARY KEY);

 

Задание 27. Составить SQL-запрос на создание новой таблицы с именем Дисциплина1. Таблица Дисциплина1 должна иметь следующий состав полей:

· Код дисциплины числовое, байтовое (Byte);

· Наименование дисциплины – текстовое поле, 30 символов;

· Лекции (часов) числовое поле, байтовое;

· Практика (часов) числовое поле, байтовое.

После выполнения запроса проверить существование таблицы Дисциплина1.

 

Задание 28. Составить SQL-запрос на создание новой таблицы с именем Вспомогательная1. В таблицу Вспомогательная1 включите только одно поле:

· Оценка – числовое, байтовое.

 

Задание 29. Составить SQL-запрос на создание новой таблицы с именем Ведомость1.

Таблица должна иметь следующий состав полей:

· Номер группы – числового типа, целое

· Код дисциплины – числовое, байтовое

· Наименование дисциплины – текстовое поле, 30 символов

· Фамилия – текстовое поле, 15 символов

· Номер зачетной книжки – числовое, длинное целое

· Оценка – числовое, байтовое.

 

QSL-запросы на изменение

· Добавление записей в таблицу выполняется командой INSERT INTO.

Синтаксис запроса на добавление одной записи:

INSERT INTO таблица [(поле_1[, поле_2[,...]])]

VALUES (значение _1[, значение_2 [,...])

Примечание. Если создать в режиме SQL запрос на добавление с помощью инструкции INSERT INTO.VALUES, сохранить и закрыть его, а затем открыть снова, то предложение VALUES будет преобразовано в предложение SELECT. Это не повлияет на результат выполнения запроса.

Если требуется запросом выполнить добавление в таблицу нескольких записей, данные которых уже имеются в других таблицах, то следует составить запрос в соответствии со следующим синтаксисом:

INSERT INTO таблица_приемник

SELECT список_полей

FROM таблица_источник

 

Задание 30. Составить SQL-запрос на добавление записи в таблицу Дисциплина.

С помощью запроса добавить следующие данные:

Код дисциплины Наименование дисциплины Лекции Практика
  Информационные системы    
  ММЭ    

 

Задание 31. Составить SQL-запрос на добавление записи в таблицу Вспомогательная.

Полю Оценка задать значение NULL (нет значения).

 

Задание 32. Составить SQL-запрос на добавление записей в таблицу Ведомость1.

В таблицу Ведомость1 необходимо поместить данные, полученные в результате объединения таблиц Студент, Дисциплина и Вспомогательная. Причем в объединение следует включить сведения только об одной дисциплине, код которой равен 1. Запрос на объединение должен иметь вид:

SELECT Студент.[Номер группы], Дисциплина 1.[Код дисциплины], Дисциплина1.[Наименование дисциплины], ФИО, [Номер зачетной книжки], Оценка

FROM Студент, Дисциплина_1, Вспомогательная_1

WHERE Дисциплина_1.[Код дисциплины]=1;

Изменить запрос таким образом, чтобы он выполнял добавление записей, полученных в результате объединения в таблицу Ведомость1.

В режиме таблицы заполните столбец Оценка таблицы Ведомость1 оценками.

 

Создание новой таблицы на основе данных других таблиц

Выполняется командой SELECT... INTO. Синтаксис команды: SELECT поле_1[, поле_2[,...]] INTO новая таблица

FROM таблица_источник

 

Задание 33. Отладить следующий запрос на создание новой таблицы с именем Ведомость2.

SELECT Студент.[Номер группы], Дисциплина1.[Код дисциплины],

Дисциплина1. [Наименование дисциплины], Фамилия, Студент. [Номер зачетной книжки], Оценка

INTO Ведомость_2

FROM Студент, Дисциплина1, Вспомогательная1

WHERE Дисциплина1.[Код дисциплины]=2;

 

Задание 34. Составить SQL-запрос на создание новой таблицы Староста. В таблицу поместить сведения из таблицы Студент о тех студентах, кто является старостами. Сведения о старостах содержатся в таблице Группа.

Таблица должна иметь следующий состав полей:

· Номер группы;

· Фамилия;

· Номер зачетной книжки;

· Дата рождения.

 

Изменение значений полей

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

 

Задание 35.

Составить SQL-запрос на увеличение стоимости обучения на 20 % для двух номеров специальности.

Текст запроса:

UPDATE Специальность

SET [стоимость обучения]=[стоимость обучения]* 1,2

WHERE [номер специальности]=n1 or [номер специальности]= n2,

где nl и n2 - номера специальностей

 

Задание 36. Составить SQL-запрос на перевод всех коммерческих студентов, обучающихся в заданной группе, в новую группу.

 

Задание 37. Составить SQL-запрос на перевод коммерческого студента, имеющего заданный номер зачетной книжки, на обучение на бюджетной основе.







ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.