06 1 06 (775942)

Файл №775942 06 1 06 (Ответы на все вопросы по теме электроника или типа того)06 1 06 (775942)2017-06-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

6. Язык структурированных запросов SQL. Выбор и модификация данных, группировка таблиц, агрегатные функции, использование подзапросов.

SQL - Structured Query Language (Структурированный язык запросов). Язык SQL - наиболее распространённый язык управления базами данных типа клиент - сервер. SQL запрос представляет собой набор команд, определённым образом влияющий на отбор данных. Каждая инструкция начинается командой (одной из SELECT, INSERT, DELETE, UPDATE, CREATE, DROP, ALTER, TRANSFORM) и заканчивается точкой с запятой [;].

Команда SELECT

Команда SELECT - наиболее часто употребляемая команда из всех восьми. Она используется для выборки данных из базы данных.

Её синтаксис:

SELECT [Предикат] Поля FROM Таблицы [IN БазаДанных] [WHERE ...] [GROUP BY ...] [HAVING ...] [ORDER BY ...];

Необязательные аргументы заключены в [].

Предикат - одно из четырёх слов ALL, DISTINCT, DISTINCTROW, TOP. Если предикат не указан, то устанавливается ALL. Предикат ALL позволяет отобрать все записи. При использовании предиката DISTINCT, записи, которые содержат повторяющиеся значения в выбранных в запросе полях, исключаются. Предикат DISTINCTROW исключает из выборки записи, если повторяется вся запись, а не одно из полей. Предикат TOP позволяет отобрать определённое количество записей.

Поля - имена одного или нескольких полей, выборка которых производится. Для выборки всех полей вместо имен полей можно поставить звёздочку [*].

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

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

Минимальный синтаксис запроса на выборку выглядит так:
SELECT поле FROM Таблица;

Если таблицы, из которых выбираются записи, содержат одноимённые поля, то перед именем поля нужно поставить название таблицы и точку [.].

Предложение WHERE позволяет установить критерии отбора записей. Например:

SELECT * FROM Orders WHERE ID=5;

В этом запросе происходит выборка всех полей таблицы Orders. Выбираются только те записи, значения поля ID которых равно 5.

Вместо знака равно [=] можно также использовать знаки больше [>] и меньше [<].

SELECT * FROM Buyers WHERE Age>30;

В этом запросе выбираются все записи из таблицы Buyers, в которых значение поля Age больше 30.

Также возможно использование предложения WHERE вместе с операторами BETWEEN, IN и LIKE.
Оператор BETWEEN позволяет отобрать записи, значение определённого поля которых находится в заданном диапазоне. Например:

SELECT * FROM Orders WHERE ID BETWEEN 10 AND 20;

Здесь выбираются все записи, значение поля ID которых находится между 10 и 20.
Оператор IN позволяет отобрать записи, значение поля которых соответствует одному из значений, указанных в скобках.

SELECT * FROM Orders WHERE ID IN ( 10, 12, 30, 45 );

Предложение GROUP BY позволяет объединять поля в запросе. Предложение ORDER BY позволяет упорядочивать выбираемые записи. При использовании совместно с предложением ключевого слова ASC можно определить возрастающий порядок, а используя DESC, определяется убывающий порядок.

SELECT * FROM Orders ORDER BY Name ASC;

Также можно упорядочивать записи по нескольким полям. Сначала записи упорядочиваются по первому полю, если в нём есть записи, имеющие одинаковые значения, то они упорядочиваются по следующему указанному в предложении ORDER BY полю и т.д. Имена полей пишутся через запятую [,].

SELECT * FROM Orders ORDER BY Name ASC, Email ASC;

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

функций - COUNT, SUM, MAX, MIN и AVG.

* COUNT - вычисляет количество найденных строк

* SUM - находит сумму значений в найденных строках

* MAX - находит наибольшее среди найденных значений

* MIN - находит наименьшее среди найденных значений

* AVG - находит среднее значение от найденных значений

Используются эти функции как элементы списка таблиц в запросе с аргументом - названием поля. Вот несколько примеров.

SELECT COUNT (project) FROM staff;

SELECT MAX (projects_done) FROM staff;

SELECT AVG (project_done) FROM staff

HAVING

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

::=

HAVING

Раздел HAVING может осмысленно появиться в табличном выражении только в том случае, когда в нем присутствует раздел GROUP BY. Условие поиска этого раздела задает условие на группу строк сгруппированной таблицы. Формально раздел HAVING может присутствовать и в табличном выражении, не содержащем GROUP BY. В этом случае полагается, что результат вычисления предыдущих разделов представляет собой сгруппированную таблицу, состоящую из одной группы без выделенных столбцов группирования.

Условие поиска раздела HAVING строится по тем же синтаксическим правилам, что и условие поиска раздела WHERE, и может включать те же самые предикаты. Однако имеются специальные синтаксические ограничения по части использования в условии поиска спецификаций столбцов таблиц из раздела FROM данного табличного выражения. Эти ограничения следуют из того, что условие поиска раздела HAVING задает условие на целую группу, а не на индивидуальные строки.

Поэтому в арифметических выражениях предикатов, входящих в условие выборки раздела HAVING, прямо можно использовать только спецификации столбцов, указанных в качестве столбцов группирования в разделе GROUP BY. Остальные столбцы можно специфицировать только внутри спецификаций агрегатных функций COUNT, SUM, AVG, MIN и MAX, вычисляющих в данном случае некоторое агрегатное значение для всей группы строк. Аналогично обстоит дело с подзапросами, входящими в предикаты условия выборки раздела HAVING: если в подзапросе используется характеристика текущей группы, то она может задаваться только путем ссылки на столбцы группирования.

Результатом выполнения раздела HAVING является сгруппированная таблица, содержащая только те группы строк, для которых результат вычисления условия поиска есть true. В частности, если раздел HAVING присутствует в табличном выражении, не содержащем GROUP BY, то результатом его выполнения будет либо пустая таблица, либо результат выполнения предыдущих разделов табличного выражения, рассматриваемый как одна группа без столбцов группирования.

Подзапросы

Подзапрос - это команда SELECT, вложенная в предложение другой команды SQL (например, SELECT, CREATE, INSERT и т.д.). Механизм подзапросов является мощным и гибким инструментом языка SQL, позволяющим создавать сложные команды при работе с данными. Это может быть удобно для выборки строк таблицы по условию, зависящему от данных в самой таблице.

Структура подзапроса представлена на рисунке.

Подзапросы очень полезны при написании команд SELECT для выборки значений по некоторому условию, значения операндов которого заранее неизвестны. Подзапросы можно использовать в разных предложениях команд SQL:

  • Предложение WHERE.

  • Предложение HAVING.

  • Предложение FROM команды SELECT или DELETE.

Синтаксис запроса с подзапросом:

SELECT

список_выбора

FROM

таблица

WHERE

выражение оператор (SELECT список_выбора FROM таблица);

где

оператор

Оператор сравнения (например, >, = или IN).

По количеству возвращаемых строк, удовлетворяющих условию запроса, подзапросы разделяют на однострочные и многострочные. В однострочных подзапросах в качестве операторов сравнения могут быть использованы (>,=,>=,<,<>,<=). Для многострочных запросов правильным будет использование только оператора IN (NOT IN).

Правила оформления подзапроса следующие:

  • подзапрос должен быть заключен в круглые скобки;

  • подзапрос должен находиться справа от оператора сравнения в логическом выражении;

  • в подзапросе нельзя использовать предложение ORDER BY.

Как обрабатываются вложенные подзапросы?

Вложенная команда SELECT выполняется первой. Результат передается в условие главного запроса.

Пример: Выборка фамилий и должностей сотрудников того же отдела, что у Biri.

  1. Первой выполняется команда SELECT вложенного блока запроса. Результат -- 43.

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

Команда SELECT для этого примера будет выглядеть следующим образом:

Команда UPDATE

Команда UPDATE посылает запрос на изменение записи.
Синтаксис:

UPDATE Таблица SET НовоеЗначение WHERE ...;

Таблица - имена одной или нескольких таблиц, в которых изменяются записи
НовоеЗначение - новые значения для полей записи

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

Пример:

UPDATE Buyers SET Order='Ничего' WHERE ID=7;

Устанавливаем значение поля покупки 'Ничего' у покупателя, номер которого равен 7.

UPDATE Заказы SET СуммаЗаказа=СуммаЗаказа * 1.2, СтоимостьДоставки=СтоимостьДоставки * 1.1 WHERE Страна='США';

Этот запрос немного сложнее. Он повышает сумму заказа на 20% и стоимость доставки на 10% для покупателей из США.

Команда DELETE

Команда DELETE посылает запрос на удаление записей из таблицы.
Синтаксис:
DELETE [Таблица.*] FROM Таблица WHERE ...;

Таблица - имя таблицы, из которой удаляются записи.

Использование предложения WHERE аналогично его использованию в команде SELECT.

Аргумент команды DELETE можно не указывать, поскольку он фактически дублируется в предложении FROM.

Пример:

DELETE FROM Buyers WHERE ID=8;

Этот запрос удаляет из таблицы Buyers запись, в которой ID равно 8.

Для удаления не всей записи, а только ее поля, следует воспользоваться запросом на изменение записи (команда UPDATE) и поменять значения нужных полей на Null.

Команда INSERT INTO

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

Синтаксис первого варианта:

INSERT INTO ТаблицаНазначения [(Поля)] VALUES (Значения);

Синтаксис второго варианта:

INSERT INTO ТаблицаНазначения [(Поля)] [IN БазаДанных] SELECT [Таблица.]Поля FROM Таблица;

ТаблицаНазначения - таблица, в которую добавляются записи.
Поля - названия полей.
Таблица - имя таблицы, источника данных.
База данных - путь и имя внешней базы данных, в которой содержатся таблицы. Если таблицы находятся в текущей базе данных, то этот аргумент необязателен.
Значения - значения полей добавляемой записи.

Все поля записи и соответствующие им значения должны быть определены, иначе им будут присвоены значения Null. Если таблица, в которую добавляются записи, имеет ключевое поле, то в него должны добавляться уникальные, непустые значения. Иначе запись не будет добавлена.

Пример:

INSERT INTO Orders (ID, Name, Email, Order) VALUES (12, 'Вася Пупкин', 'vasya@pupkin.ru', 'Pentium II 450 MHz');

Добавляется новая запись, в которой полям ID, Name, Email, Order соответствуют значения 12, 'Вася Пупкин', 'vasya@pupkin.ru', 'Pentium II 450 MHz'.

INSERT INTO Orders2001 (ID, Name, Email, Order) SELECT ID, Name, Email, Order FROM Orders2000;

Этот запрос добавляет все записи из таблицы Orders2000 в таблицу Orders2001.

Команда CREATE

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

Создание таблицы в БД реализуется оператором CREATE TABLE, имеющим следующий синтаксис

CREATE TABLE имя_табл (с_спецификация, ...);

где с_спецификация имеет разнообразный синтаксис. Здесь же рассматриваются наиболее часто используемые ее формы.

1. Описание столбца таблицы

имя_столбца тип_данных [NULL]

где имя_столбца - имя столбца таблицы, а тип_данных - спецификация одного из типов данных, рассмотренных в разделе ?Типы данных языка SQL?. Необязательное ключевое слово NULL означает, что ячейкам данного столбца разрешено быть пустыми (т.е. не содержать какого-либо значения).

2. Описание столбца таблицы

имя_столбца тип_данных NOT NULL [DEFAULT по_умолч] [PRIMARY KEY]

где конструкция NOT NULL запрещает иметь в таблице пустые ячейки в данном столбце. Конструкция PRIMARY KEY указывает, что содержимое столбца будет играть роль первичного ключа для создаваемой таблицы. Конструкция DEFAULT по_умолч переопределяет имеющееся для столбцов каждого типа данных значение ?по умолчанию? (например, 0 для числовых типов), используемое при добавлении в таблицу оператором INSERT INTO строк, не содержащих значений в этом столбце.

3. Описание первичного ключа

PRIMARY KEY имя_ключа (имя_столбца, ...)

Команда ALTER TABLE

Модификация существующей таблицы в БД реализуется оператором ALTER TABLE, имеющим следующий синтаксис

ALTER TABLE имя_табл м_специкация [,м_спецификация ...]

где м_спецификация имеет различные формы. Ниже рассматриваются наиболее часто используемые.

1. Добавление нового столбца

ADD COLUMN с_спецификация

где с_спецификация - описание добавляемого столбца в том виде, как оно используется для создания таблицы оператором CREATE TABLE.

2. Удаление первичного ключа для таблицы

DROP PRIMARY KEY

3. Изменение/удаление значения ?по умолчанию?

ALTER COLUMN имя_столбца SET по_умолч

или

ALTER COLUMN имя_столбца DROP DEFAULT

Команда DROP TABLE

Удаление таблицы

Удаление одной или сразу нескольких таблиц из БД реализуется оператором DROP TABLE, имеющим следующий простой синтаксис

DROP TABLE имя_табл, ...

Подчеркнем, что оператор DROP TABLE удаляет не только все содержимое таблицы, но и само описание таблицы из БД. Если требуется удалить только содержимое таблицы, то необходимо использовать оператор DELETE FROM.

6

Характеристики

Тип файла
Документ
Размер
32,65 Kb
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее