Зміст 1. Запросы SQL на выборку и изменение данных.[where... ] FROM должно присутствовать в каждой инструкции SELECT. Порядок следования имен таблиц в выражении не существенен. Предложение WH |
Лабораторная работа 3. Использование редактора запросов SQL Borland SQL Explorer(TM) для создания запросов к данным с использованием языка SQL. Требования к программному обеспечению:
Теоретические сведения: ^ Инструкция SQL на добавление одной записи имеет вид: INSERT INTO назначение [(поле_1[, поле_2[, ...]])] VALUES (значение_1[, значение_2[, ...]) где: назначение – имя таблицы или запроса, в который добавляются записи; поле_i – имя поля в таблице; можно указывать только те поля, в которые будут внесены значения, но обязательно указать все ключевые поля; значение_i – значение, взятое из допустимых значения для поля_i Для добавления нескольких записей: INSERT INTO назначение [(поле_1[, поле_2[, ...]])] SELECT [источник.]поле_1[, поле_2[, ...] FROM выражение [WHERE…] где: назначение – имя таблицы или запроса, в который добавляются записи; источник – имя таблицы или запроса, откуда копируются записи; поле_i – имена полей для добавления данных, если они следуют за аргументом назначение; имена полей, из которых берутся данные, если они следуют за аргументом источник; выражение – имена таблицы или таблиц, откуда вставляются данные; значение_i – значения, добавляемые в указанные поля новой записи. Каждое значение будет вставлено в поле, занимающее то же положение в списке: значение_1 вставляется в поле_1 в новой записи, значение_2 в поле_2 и т.д. Каждое значение текстового поля следует заключать в кавычки ' '; для разделения значений используйте запятые. Пример 1. Добавить в таблицу Star информацию об Уильяме Смите (все, кроме его фотографии). INSERT INTO Star (name, gender, birthday, address) VALUES ('Уильям Смит', 'м', '19.09.1969', 'Калифорния'); Инструкция SELECT в запросах на изменение данных может содержать как имена полей, так и фиксированные значения. Пример 2. Добавить в таблицу StarsIn информацию о том, что все кинозвезды, снявшиеся в фильме «Терминатор», снялись также и в фильме «Терминатор-2» INSERT INTO starsIn (starName, movieTitle, movieYear) SELECT DISTINCT starName, 'Терминатор-2', 1997 FROM StarsIn WHERE starName IN ( SELECT a.starName FROM starsIn a WHERE a.movieTitle = 'Терминатор'); Существует особая инструкция SQL на создание таблицы добавлением в нее записей: SELECT поле_1[, поле_2[, ...]] INTO новаяТаблица FROM источник [WHERE…] где: поле_i – имена полей, которые следует скопировать в новую таблицу; новаяТаблица – имя создаваемой таблицы. Это имя должно удовлетворять стандартным правилам именования. Если новаяТаблица совпадает с именем существующей таблицы, возникает перехватываемая ошибка; источник – имя существующей таблицы, из которой отбираются записи. Это может быть одна таблица, несколько таблиц или запрос. Пример 3. Создать таблицу “Самые длинные фильмы на каждой студии”, в которой для каждой студии отобрать самые длинные по продолжительности фильмы. SELECT Movie.title, Movie.year, Movie.length, Movie.studioName FROM Movie INTO [Самые длинные фильмы на каждой студии] WHERE Movie.length = ( SELECT MAX(a.length) FROM Movie AS a WHERE a.studioName = Movie.studioName ); Здесь вложенный запрос является связанным и выполняется для каждой записи таблицы Movie, указанной во внешнем запросе. Инструкция SQL на удаление записей выглядит так: DELETE [таблица.*] FROM таблица WHERE условиеОтбора где: таблица – имя таблицы, из которой удаляются записи; условиеОтбора – выражение, определяющее удаляемые записи. Пример 4. Удалить из таблицы Movie все фильмы, выпущенные до 1930 года. DELETE FROM Movie WHERE year <=1930; Инструкция SQL на обновление записей в таблице выглядит так: UPDATE таблица SET новоеЗначение WHERE условиеОтбора; где: таблица – имя таблицы, данные в которой следует изменить; новоеЗначение – выражение, определяющее значение, которое должно быть вставлено в указанное поле обновленных записей. условиеОтбора – выражение, отбирающее записи, которые должны быть изменены. При выполнении этой инструкции будут изменены только записи, удовлетворяющие указанному условию. Пример 5. Обновить таблицу Studio так, чтобы у студии «New Line Cinema» был президентом Уильям Смит. UPDATE Studio SET Studio.presidentName = ‘Уильям Смит’ WHERE (((Studio.studioName) = ’New Line Cinema’ )); Выборка предполагает отбор строк, удовлетворяющих набору условий, из одной или нескольких таблиц Инструкция SQL на выборку из таблиц выглядит так: SELECT [предикат] { * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]} FROM выражение [, ...] [IN внешняяБазаДанных] ^ [GROUP BY... ] [HAVING... ] [ORDER BY... ] где: предикат – ALL | DISTINCT[ROW] | [TOP n [PERCENT]] ALL – выбираются все (в том числе повторяющиеся) строки; DISTINCT[ROW] – выбираются только различные строки; TOP n [PERCENT] – первые n записей; TOP n PERCENT – первые n процентов записей; таблица – имя таблицы, из которой должны быть отобраны записи; поле_i – имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке. В качестве полей также могут служит и поля, отбираемые самостоятельным запросом на выборку, и выражения, построенные на основании результатов самостоятельных запросов; псевдоним_i – имена, которые станут заголовками столбцов вместо исходных названий столбцов в таблице; выражение – имена одной или нескольких таблиц, которые содержат отбираемые данные, или выражение, использующее операторы INNER JOIN, LEFT JOIN, RIGHT JOIN. Предложение ^ должно присутствовать в каждой инструкции SELECT. Порядок следования имен таблиц в выражении не существенен. Предложение WHERE определяет, какие записи из таблиц, перечисленных в предложении FROM, следует включить в результат выполнения инструкции SELECT. Предложение GROUP BY объединяет записи с одинаковыми значениями в указанном списке полей в одну группу. Если инструкция SELECT содержит статистическую функцию SQL, например, SUM() или COUNT(), то для каждой группы будет вычислено итоговое значение. Предложение HAVING определяет, какие сгруппированные записи отображаются при использовании инструкции SELECT с предложением GROUP BY. После того как записи будут сгруппированы с помощью предложения GROUP BY, предложение HAVING отберет те группы записей, которые удовлетворяют условиям отбора, указанным в предложении HAVING. Предложение ORDER BY сортирует записи, полученные в результате запроса, в порядке возрастания (ASC) или убывания (DESC) на основе значений указанного поля или полей. 2. Условие лабораторной работы
|
![]() | Лабораторная работа Использование редактора запросов sql borland sql explorer(TM) для знакомства с основными объектами баз данных. Требования к программному обеспечению ... | ![]() | Лабораторная работа 6 Вложенные запросы (подзапросы) в sql oracle Содержание Цели лабораторной работы 1 Теоретические основы 1 Приобрести практический опыт по формулировке и обработке подзапросов с использованием sql*Plus |
![]() | Лабораторная работа Разработка триггера и хранимой процедуры. Требования к программному обеспечению Компьютер с установленный на нем субд ms sql server версии 0/2000/2003, и с установленной учебной базой cis | ![]() | Лабораторная работа Разработка системы пользователей базы данных. Требования к программному обеспечению Компьютер с установленный на нем субд ms sql server версии 0/2000/2003, и с установленной учебной базой cis |
![]() | Лабораторная работа 4 Предложение select в sql oracle. Основные возможности Содержание Цели лабораторной работы 2 Теоретические основы 2 Приобрести практический опыт по поиску данных в таблицах базы данных с использованием sql*Plus | ![]() | Лабораторная работа 3 Манипулирование данными в sql oracle Содержание Цели лабораторной работы 1 Теоретические основы 1 Изучить возможности sql oracle по вставке, обновлению и удалению строк в таблице |
![]() | Лабораторная работа 2 Ограничения целостности в sql oracle Содержание Цели лабораторной работы 1 Теоретические основы 1 Синтаксис 2 Изучить возможности sql oracle по описанию и поддержанию ограничений целостности | ![]() | Лабораторная робота 1 Создание, изменение и удаление таблиц в sql oracle Содержание Приобрести практический опыт по созданию, изменению и удалению таблиц в sql*Plus |
![]() | Лабораторная работа 5 Функции sql oracle. Дополнительные фразы предложения select содержание Цели лабораторной работы 1 Теоретические основы 1 Изучить функции sql oracle, а также фразы group by, having, order by предложения select | ![]() | Инструкция по установке Microsoft sql server 2008R2 Enterprise 5 4 Настройка Microsoft sql server 2008R2 Enterprise и подключение баз данных 20 Модель расчета расхода боеприпасов и количества привлекаемых батарей к ведению огня с учетом степени поражения цели артиллерийским... |