кодесурса
«SQLite

Oracle CROSS JOIN

script1adsense2code
script1adsense3code

Что такое кросс-соединение в 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code