Oracle CROSS JOIN
Что такое кросс-соединение в Oracle?
Предложение CROSS JOIN создает перекрестное произведение двух таблиц. Кросс-соединение или декартово произведение образуется, когда каждая строка из одной таблицы соединяется со всеми строками в другой. Предположим, что исходная и целевая таблицы имеют четыре и три строки, соответственно, перекрестное соединение между ними приводит к возвращению (4 × 3 = 12) строк при условии, что с оператором перекрестного соединения не было применено предложение WHERE.
Синтаксис:
ВЫБЕРИТЕ table1.column, table2.column ИЗ таблицы 1 CROSS JOIN table2;
Наглядное представление синтаксиса
Иллюстрированная презентация Oracle Cross Join
Пример: Oracle Cross Join
Следующее утверждение вернет таблицу перекрестных или декартовых произведений сотрудников и отделов.
Пример таблицы: сотрудники
Пример таблицы: отделы
SELECT first_name, department_name
FROM employees
CROSS JOIN departments ;
Пример вывода:
FIRST_NAME DEPARTMENT_NAME -------------------- ------------------------------ Дженнифер Розничные продажи Елени Розничные продажи Эллен Рекрутинг Сундар Рекрутинг Може Рекрутинг Дэвид Рекрутинг Герман Рекрутинг Шелли Рекрутинг Амит Рекрутинг Элизабет Рекрутинг Сара Рекрутинг Дэвид Рекрутинг Лаура Рекрутинг Харрисон Рекрутинг Алексис Рекрутинг Энтони Рекрутинг Джеральд Рекрутинг Нанетт Рекрутинг Джон Рекрутинг ...
Пример: Oracle CROSS JOIN с предложением WHERE
Следующий оператор sql создает декартово произведение таблицы регионов и стран и фильтрует результаты для стран с идентификатором «AU».
Пример таблицы: регионы
Пример таблицы: страны
SELECT *
FROM regions
CROSS JOIN countries
WHERE country_id='AU';
Пример вывода:
REGION_ID REGION_NAME CO COUNTRY_NAME REGION_ID ---------- ------------------------- - ------------- --------------------------- ---------- 1 Европа АС Австралия 3 2 Америка AU Австралия 3 3 Азия АС Австралия 3 4 Ближний Восток и Африка, Австралия, Австралия 3
CROSS JOINS: SQL и другие реляционные базы данных
Предыдущий: САМ СОЕДИНЕНИЕ
Далее: SEMIJOINS
Новый контент: Composer: менеджер зависимостей для PHP , R программирования