русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Объединение и опция JOIN


Дата добавления: 2014-11-28; просмотров: 577; Нарушение авторских прав


 

В связи с тем, что SQL Server поддерживает синтаксис ANSI-92, для объединения таблиц можно использовать опцию JOIN. В качестве примера приведем запрос, который выбирает всех клиентов, приезжавших в феврале.

 

SELECT Проживает.Дата_прибытия, Клиент.Фамилия

FROM Клиент INNER JOIN Проживает

ON Клиент.Код_клиента = Проживает.Код_клиента

AND MONTH(П.Дата_прибытия) = 2

AND YEAR(П.Дата_прибытия) = 2006

ORDER BY 1

 

Внешние объединения

Существует три типа внешнего объединения:

· Левое внешнее объединение (LEFT OUTER JOIN) – в результирующий набор включаются все строки первой (левой) таблицы.

· Правое внешнее объединение (RIGHT OUTER JOIN) – в результирующий набор включаются все строки второй (правой) таблицы.

· Полное внешнее объединение (FULL OUTER JOIN) – в результирующий набор включаются все строки как первой (левой), так и второй (правой) таблиц.

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

*= - включаются все строки левой таблицы;

=* - включаются все строки правой таблицы.

Рассмотрим примеры. Получим список номеров второго этажа гостиницы и кодов клиентов, проживающих в этих номерах в настоящее время.

 

SELECT Н.Номер, Н.Число_мест, П.Код_клиента, П.Дата_убытия

FROM Номер Н, Проживает П

WHERE Н.Номер *= П.Номер

AND Н.Этаж = 2

AND П.Дата_убытия > GETDATE()

 

Результат выборки:

 

Номер Число_мест Код_клиента Дата_убытия

------ ---------- ----------- ---------------------------

21 1 NULL NULL

22 2 1 2001-03-14 18:40:20.000

23 2 3 2001-03-14 18:39:31.000

24 3 NULL NULL

 

(4 row(s) affected)

 

 



<== предыдущая лекция | следующая лекция ==>
Объединение с помощью предложения WHERE | Подзапросы и структурированные запросы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.376 сек.