Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер»


Скачать 1.16 Mb.
Название Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер»
страница 8/9
Тип Лекция
rykovodstvo.ru > Руководство эксплуатация > Лекция
1   2   3   4   5   6   7   8   9

ВСТАВКА ОДНОГО ЗАПРОСА ВНУТРЬ ДРУГОГО


В КОНЕЦЕ ГЛАВЫ 9, МЫ ГОВОРИЛИ ЧТО ЗАПРОСЫ могут управлять другими запросами. В этой главе, вы узнаете как это делается ( большей частью ), помещая запрос внутрь предиката другого запроса, и используя вывод внутреннего запроса в верном или неверном условии предиката. Вы сможете выяснить какие виды операторов могут использовать подзапросы и посмотреть как подзапросы работают со средствами SQL , такими как DISTINCT, с составными функциями и выводимыми выражения. Вы узнаете как использовать подзапросы с предложением HAVING и получите некоторые наставления как правильно использовать подзапросы.

КАК РАБОТАЕТ ПОДЗАПРОС?


С помощью SQL вы можете вкладывать запросы внутрь друга друга. Обычно, внутренний запрос генерирует значение которое проверяется в предикате внешнего запроса, определяющего верно оно или нет. Например, предположим что мы знаем им продавца: Motika, но не знаем значение его пол snum, и хотим извлечь все порядки из таблицы Порядков. Имеется один способ чтобы сделать это( вывод показывается в Рисунке 10.1 ):

SELECT *

FROM Orders

WHERE snum =

( SELECT snum

FROM Salespeople

WHERE sname = 'Motika');

Чтобы оценить внешний( основной ) запрос, SQL сначала должен оценить внутренний запрос ( или подзапрос ) внутри предложения WHERE. Он делает это так как и должен делать запрос имеющий единственную цель - отыскать через таблицу Продавцов все строки, где поле sname равно значению Motika, и затем извлечь значения пол snum этих строк.

Единственной найденной строкой естественно будет snum = 1004. Однако SQL, не просто выдает это значение, а помещает его в предикат основного запроса вместо самого подзапроса, так чтобы предиката прочитал что

WHERE snum = 1004

=============== SQL Execution Log ==============

| |

| SELECT * |

| FROM Orders |

| WHERE snum = |

| (SELECT snum |

| FROM Salespeople |

| WHERE sname = 'Motika'); |

|=================================================|

| onum amt odate cnum snum |

| ----- ------- ---------- ----- ----- |

| 3002 1900.10 10/03/1990 2007 1004 |

| |

=================================================

Рисунок 10.1: Использование подзапроса

Основной запрос затем выполняется как обычно с вышеупомянутыми результатами. Конечно же, подзапрос должен выбрать один и только один столбец, а тип данных этого столбца должен совпадать с тем значением с которым он будет сравниваться в предикате. Часто, как показано выше, выбранное поле и его значение будут иметь одинаковые имена( в этом случае, snum ), но это необязательно.

Конечно, если бы мы уже знали номер продавца Motika, мы могли бы просто напечатать

WHERE snum = 1004

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

Встроенный язык SQL


Цель встроенного SQL состоит в соединении возможностей декларативного и процедурного языков.
Следует выделять вложенный и встроенный языки SQL. В первом случае основным является язык SQL, в который вводятся операторы циклов и условных переходов. Нет резкого разделения на интерфейсный и вложенный языки. Операторы выборки (SELECT), обновления (DELETE, UPDATE, INSERT) относят к интерактивному языку SQL. Операторы CREATE, ALTER, DROP считаются принадлежащими к вложенному языку SQL. В качестве объектов выступают таблицы, поля, ограничения, индексы, домены, виды, генераторы, триггеры, хранимые процедуры.
Во втором случае операторы языка SQL «встраиваются» в алгоритмические языки. Часто им является язык Pascal. Для этого команды SQL помещаются в исходный текст главной программы, которой предшествует фраза EXEC SQL (EXECute SQL).
Когда встраиваются команды SQL в текст программы, написанной на другом языке, надо выполнить прекомпиляцию прежде, чем окончательно ее скомпилировать. Программа, называемая прекомпилятором (или препроцессором), будет просматривать текст программы и преобразовывать команды SQL в форму, удобную для использования базовым языком. Затем используется обычный транслятор, чтобы преобразовывать программу из исходного текста в выполняемый код.
Основная программа вызывает процедуры SQL, которые выбирают параметры из главной программы и возвращают уже обработанные значения в основную программу. Модуль может содержать любое число процедур, каждая из которых состоит из одиночной команды SQL.

1   2   3   4   5   6   7   8   9

Похожие:

Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Тема Архитектура предприятия Исторические аспекты архитектуры предприятия....
Ения. Комплекс проектов совершенствования деятельности. Пути развития архитектуры предприятия. Типичные пользователи. Архитектура...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon План лекции Язык sql в субд. Структура команды sql. Типы данных. Выражения
База данных (БД) – это информационная модель объекта – именованная совокупность данных, отображающая состояние объектов, их свойства...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Пер с англ. — М. Издательский
Архитектура системы баз данных 65 Глава Введение в реляционные базы данных 92
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Программа фиэб направление подготовки 230100 «Информатика и вычислительная...
Архитектура баз данных. Модели данных. Иерархические, сетевые, реляционные модели данных. Модель «сущность-связь». Уровни проектирования:...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Лекция I и проблема языка и сознания лекция II 31 слово и его семантическое...
Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Лекция I и проблема языка и сознания лекция II 31 слово и его семантическое...
Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Инструкция по переносу данных по «Луч» из бд ms access в бд ms sql server Москва, 2011
По «Луч») является техническим документом Небанковской кредитной организации закрытого акционерного общества «Национальный расчетный...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon 1. Показать развитие и классификацию однопроцессорных архитектур...
Архитектура общая функциональная и структурная организация машины, определяющая методы кодирования данных, состав, назначение, принципы...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Содержание Введение Лекция Базы данных и файловые системы Файловые системы 1 Структуры файлов
Лекция Ранние подходы к организации бд. Системы, основанные на инвертированных списках, иерархические и сетевые субд. Примеры. Сильные...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Литература 58 Лекция №15 Понятия и сущность данных, информации, знаний....
Лекция № Поиск полных текстов научных документов в мировых издательских системах 33
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Многоканальный цифровой комплекс регистрации сигналов «фантом» руководство по эксплуатации
...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Управление ит-инфраструктурой
Понятие «информационно-технологическая инфраструктура», связь с понятиями «архитектура предприятия», «архитектура информационной...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Приказ о назначении ответственного лица в области обработки и защиты...
Постановление Правительства Российской Федерации от 1 ноября 2012 г. №1119 «Об утверждении требований к защите персональных данных...
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Лекция Предмет, задачи и методы перевода
Лекция Общая характеристика современной теории перевода. Лекция Переводческая эквивалентность
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Лекция Основы процесса тестирования по 3
Лекция Как протестировать неизвестную программу или наращиваемый подход к первичному функциональному тестированию по. 17
Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает подзапрос? 68 Лекция Распределенная обработка данных Архитектура распределенной обработки данных Архитектура «файл сервер» icon Пояснительная записка Студент
Организация данных. Sql дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск