Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора Базы данных.doc
Скачиваний:
13
Добавлен:
17.08.2019
Размер:
153.6 Кб
Скачать

15: «Стандарт sql»

Непроцедурный язык SQL (Structured Query Language - структуризованный язык запросов) ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка - что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных

Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволило создать компактный язык с небольшим (менее 30) набором предложений. SQL может использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ). В нем существуют:

  • предложения определения данных (определение баз данных, а также определение и уничтожение таблиц и индексов);

  • запросы на выбор данных (предложение SELECT);

  • предложения модификации данных (добавление, удаление и изменение данных);

  • предложения управления данными (предоставление и отмена привилегий на доступ к данным, управление транзакциями и другие). Кроме того, он предоставляет возможность выполнять в этих предложениях:

  • арифметические вычисления (включая разнообразные функциональные преобразования), обработку текстовых строк и выполнение операций сравнения значений арифметических выражений и текстов;

  • упорядочение строк и (или) столбцов при выводе содержимого таблиц на печать или экран дисплея;

  • создание представлений (виртуальных таблиц), позволяющих пользователям иметь свой взгляд на данные без увеличения их объема в базе данных;

  • запоминание выводимого по запросу содержимого таблицы, нескольких таблиц или представления в другой таблице (реляционная операция присваивания).

  • агрегатирование данных: группирование данных и применение к этим группам таких операций, как среднее, сумма, максимум, минимум, число элементов и т.п.

SQL использует и создает ряд виртуальных (как будто существующих) таблиц: представлений, курсоров и неименованных рабочих таблиц, в которых формируются результаты запросов на получение данных из базовых таблиц и, возможно, представлений. Это таблицы, которые не существуют в базе данных, но как бы существуют с точки зрения пользователя.

16: «Организация средствами sql запроса с подзапросами»

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

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

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

Правила создания подзапросов:

  1. Внутренний подзапрос берется в круглые скобки и должен стоять с правой части оператора сравнения внешнего запроса

  2. Подзапрос не может содержать ORDER BY, он ставиться последним предложением в основной запрос

  3. Имена столбцов в предложении SELECT внутри подзапроса должны стоять в той же последовательности, что и имена столбцов левой части оператора сравнения выполняемого запроса. Типы столбцов должны попарно соответствовать

  4. Подзапрос должен выполняться от внутреннего к внешнему если они не корhелируют

  5. При задании критериев поиска могут использоваться логические операторы, SQL – операторы, а также операторы ANY, ALL.

  6. Подзапросы могут:

  • возвращать одну или более строк

  • один или более столбцов

  • использовать группы или групповые функции

  • задаваться в сложных критериях поиска внешних запросов с использованием предикатов AND, OR

  • соединять таблицы

  • обращаться к таблице, отличающейся от той к которой обращается внешний запрос

  • стоять в командах SELECT, UPDATE, DELETE, INSERT

  • коррелировать с внешним запросом и использовать SET операторы над множествами

Пример: вывести всех сотрудников у которых з/п > max з/п клерков

Select Ename, Sal

From EMP

Where Sal >=

(Select max (Sal)

From EMP

Where Job = ‘Clerk’);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]