Свобода кода

блог программиста

Поиск по блогу

Некоторые выводы.

25 Июнь 2010 . Alex пишет -

Краткое знакомство с возможностями предложения SELECT показало, что с его помощью можно реализовать все реляционные операции. Кроме того, в предложении SELECT выполняются разнообразные вычисления, агрегирование данных, их упорядочение и ряд других операций, позволяющих описать в одном предложении ту работу, для выполнения которой потребовалось бы написать несколько страниц программы на алгоритмических языках Си, Паскаль или на внутренних языках ряда распространенных СУБД.
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Реализация операций реляционной алгебры предложением SELECT.

20 Июнь 2010 . Alex пишет -

С помощью предложения SELECT можно реализовать любую операцию реляционной алгебры.
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Объединение (UNION).

15 Июнь 2010 . Alex пишет -

В литературе рассматривалась реляционная операция “Объединение”, позволяющая получить отношение, состоящее из всех строк, входящих в одно или оба объединяемых отношения. Но при этом исходные отношения или их объединяемые проекции должны быть совместимыми по объединению. Для SQL это означает, что две таблицы можно объединять тогда и только тогда, когда:
a.они имеют одинаковое число столбцов, например, m;
b.для всех i (i = 1, 2, …, m) i-й столбец первой таблицы и i-й столбец
второй таблицы имеют в точности одинаковый тип данных.
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Функции в подзапросе.

10 Июнь 2010 . Alex пишет -

Подзапросы, так же как и внешние запросы могут использовать все функции SQL. Рассмотрим небольшой пример.
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Запросы, использующие EXISTS.

4 Июнь 2010 . Alex пишет -

Квантор EXISTS (существует) - понятие, заимствованное из формальной логики. В языке SQL предикат с квантором существования представляется выражением EXISTS (SELECT * FROM …).
Такое выражение считается истинным только тогда, когда результат вычисления “SELECT * FROM …” является непустым множеством, т.е. когда
существует какая-либо запись в таблице, указанной во фразе FROM подзапроса, которая удовлетворяет условию WHERE подзапроса.
(Практически этот подзапрос всегда будет коррелированным множеством.)
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Коррелированные вложенные подзапросы.

30 Май 2010 . Alex пишет -

Сегодня рассмотрим коррелированные вложенные подзапросы. Как вы наверняка помните, это такой тип запросов, при котором сперва обрабатывается внешний запрос, а потом вложенные подзапросы по степени вложеннности. В нашем примере мы подробно опишем механизм работы ситемы в этом случае.
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Варианты вложенных подзапросов.

22 Май 2010 . Alex пишет -

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

Рубрики: Запросы с использованием нескольких таблиц

Простые вложенные подзапросы.

15 Май 2010 . Alex пишет -

Простые вложенные подзапросы используются для представления множества значений, исследование которых должно осуществляться в каком-либо предикате IN, что иллюстрируется в следующем примере: выдать название и статус поставщиков продукта с номером 11, т.е. помидоров.
SELECT Название, Статус
FROM Поставщики
WHERE ПС IN
( SELECT ПС
FROM Поставки
WHERE ПР = 11 );
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Виды вложенных подзапросов.

10 Май 2010 . Alex пишет -

Вложенный подзапрос - это подзапрос, заключенный в круглые скобки и вложенный в WHERE (HAVING) фразу предложения SELECT или других
предложений, использующих WHERE фразу. Вложенный подзапрос может содержать в своей WHERE (HAVING) фразе другой вложенный подзапрос и т.д. Нетрудно догадаться, что вложенный подзапрос создан для того, чтобы при отборе строк таблицы, сформированной основным запросом, можно было использовать данные из других таблиц (например, при отборе блюд для меню использовать данные о наличии продуктов в кладовой пансионата).
(далее…)

Рубрики: Запросы с использованием нескольких таблиц

Соединение таблицы со своей копией.

2 Май 2010 . Alex пишет -

В ряде приложений возникает необходимость одновременной обработки данных какой-либо таблицы и одной или нескольких ее копий, создаваемых на время выполнения запроса.
Например, при создании списков студентов (таблица Студенты) возможен повторный ввод данных о каком-либо студенте с присвоением ему второго номера зачетной книжки. Для выявления таких ошибок можно соединить таблицу Студенты с ее временной копией, установив в WHERE фразе равенство значений всех одноименных столбцов этих таблиц кроме столбцов с номером зачетной книжки (для последних надо установить условие неравенства значений).
(далее…)

Рубрики: Запросы с использованием нескольких таблиц
стр 1 из 212»