BIG_DATA_SYSTEMS_ANALYSIS Telegram 60
Множественные комбинации: перекрёстное соединение в SQL

Мы ещё не затрагивали тему соединений, которая является очень важной и обширной. И начну я, пожалуй, с одного из наиболее редких соединений. Это CROSS JOIN. Несмотря на его не частое использование, важно понимать как он работает.

По своей сути cross join — это декартово произведение. Каждая строка таблицы A объединяется с каждой строкой таблицы B. Число строк набора результатов будет равно произведению количества строк таблиц, которые будут объединены. Это отличный инструмент для создания всевозможных комбинаций.

Синтаксис:
SELECT id_a, id_b
FROM table_a
CROSS JOIN table_b;


Аналогично сработает:
SELECT id_a, id_b
FROM table_a, table_b


Давайте рассмотрим как будет выглядеть результат перекрёстного объединения двух таблиц:
table_a
1
3
NULL


table_b
1
2
NULL


Результат:
1 1
1 2
1 NULL
3 1
3 2
3 NULL
NULL 1
NULL 2
NULL NULL


Обратите внимание на то, как произошло объединение по NULL — это полноценное значение поля и забывать о нём не нужно.

При использовании cross join на больших таблицах не забывайте, что это дорогостоящая операция, возвращающая огромные наборы данных (ведь мы умножаем одну таблицу на другую).

#sql #join
1



tgoop.com/big_data_systems_analysis/60
Create:
Last Update:

Множественные комбинации: перекрёстное соединение в SQL

Мы ещё не затрагивали тему соединений, которая является очень важной и обширной. И начну я, пожалуй, с одного из наиболее редких соединений. Это CROSS JOIN. Несмотря на его не частое использование, важно понимать как он работает.

По своей сути cross join — это декартово произведение. Каждая строка таблицы A объединяется с каждой строкой таблицы B. Число строк набора результатов будет равно произведению количества строк таблиц, которые будут объединены. Это отличный инструмент для создания всевозможных комбинаций.

Синтаксис:
SELECT id_a, id_b
FROM table_a
CROSS JOIN table_b;


Аналогично сработает:
SELECT id_a, id_b
FROM table_a, table_b


Давайте рассмотрим как будет выглядеть результат перекрёстного объединения двух таблиц:
table_a
1
3
NULL


table_b
1
2
NULL


Результат:
1 1
1 2
1 NULL
3 1
3 2
3 NULL
NULL 1
NULL 2
NULL NULL


Обратите внимание на то, как произошло объединение по NULL — это полноценное значение поля и забывать о нём не нужно.

При использовании cross join на больших таблицах не забывайте, что это дорогостоящая операция, возвращающая огромные наборы данных (ведь мы умножаем одну таблицу на другую).

#sql #join

BY В мире больших данных


Share with your friend now:
tgoop.com/big_data_systems_analysis/60

View MORE
Open in Telegram


Telegram News

Date: |

The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Hashtags A Hong Kong protester with a petrol bomb. File photo: Dylan Hollingsworth/HKFP. “[The defendant] could not shift his criminal liability,” Hui said.
from us


Telegram В мире больших данных
FROM American