Академический Документы
Профессиональный Документы
Культура Документы
данных
Рассматриваемые вопросы:
INNER JOIN (внутреннее соединение)
LEFT OUTER JOIN (левое внешнее соединение)
RIGHT OUTER JOIN (правое внешнее соединение)
Псевдонимы соединяемых таблиц
JOIN и соединение более двух таблиц
Написать запросы SQL с JOIN самостоятельно
Оператор языка SQL JOIN предназначен для соединения двух или более
таблиц базы данных по совпадающему условию. Этот оператор существует
только в реляционных базах данных. Именно благодаря JOIN реляционные
базы данных обладают такой мощной функциональностью, которая позволяет
вести не только хранение данных, но и их, хотя бы простейший, анализ с
помощью запросов. Разберём основные нюансы написания SQL-запросов с
оператором JOIN, которые являются общими для всех СУБД (систем
управления базами данных). Для соединения двух таблиц оператор SQL JOIN
имеет следующий синтаксис:
1
INNER JOIN (внутреннее соединение)
Запрос с оператором INNER JOIN предназначен для соединения таблиц и
вывода результирующей таблицы, в которой данные полностью пересекаются
по условию, указанному после ON.
Рубрики
КодРубрики НазваниеРубрики КодКатегории
1 Квартиры 505
2 Автомашины 205
3 Доски 10
4 Шкафы 30
5 Книги 160
Категории
КодКатегории НазваниеКатегории Цена
10 Стройматериалы 105,00
30 Мебель 77,00
45 Техника 65,00
205 Транспорт 160,00
505 Недвижимость 210,00
Заметим,
3
2) Внесем дополнения в наш запрос- условие соединения таблиц:
Запрос2
НазваниеРубрики КодКАтегории Цена
Квартиры 505 210,00
Автомашины 205 160,00
Доски 10 105,00
Шкафы 30 77,00
4
Для получения результирующей таблицы, в которой данные из двух таблиц
полностью пересекаются по условию и дополняются всеми данными из
таблицы Рубрики, которые не соответствуют условию, пишем следующий
запрос:
Запрос3
НазваниеРубрики КодКАтегории Цена
Квартиры 505 210,00
Автомашины 205 160,00
Доски 10 105,00
Шкафы 30 77,00
Книги
5
Для получения результирующей таблицы, в которой данные из двух таблиц
полностью пересекаются по условию и дополняются всеми данными из
таблицы Категории, которые не соответствуют условию, пишем следующий
запрос:
Запрос4
НазваниеРубрики КодКАтегории Цена
Доски 10 105,00
Квартиры 505 210,00
Автомашины 205 160,00
Шкафы 30 77,00
45 65,00
6
Пример 5. Переписать запрос из примера 2 с использованием псевдонимов
соединяемых таблиц.
Запрос5
НазваниеРубрики КодКАтегории Цена
Квартиры 505 210,00
Автомашины 205 160,00
Доски 10 105,00
Шкафы 30 77,00
7
Самостоятельно :
1. Разобрать JOIN и соединение более двух таблиц
2. Привести пример БД с тремя (можно более) таблицами.
Внимание!
Как пример, можно рассматривать свою экзаменационную БД.
Но связи между таблицами удалите. Все таблицы в БД должны
быть без привычных связей!!!
3. Создать ШЕСТЬ запросов на соединение таблиц ,так
чтобы были примеры:
- внутреннего соединения,
- левого внешнего соединения,
- правого внешнего соединения таблиц,
- соединение 3-х таблиц!
4. Обязательно использовать псевдонимы столбцов.
5. Примеры должны быть приведены так, чтобы в результате
запроса было чётко видно ЛЕВОЕ соединение, ПРАВОЕ
соединение или ВНУТРЕННЕЕ соединение!