|
Использование вычисляемых полей в SQL-запросах ⇐ ПредыдущаяСтр 5 из 5 Список полей в команде 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-запрос на перевод коммерческого студента, имеющего заданный номер зачетной книжки, на обучение на бюджетной основе. Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|