Sobes.tech
Junior

Чӣ тавр кор мекунад SQL Join?

sobes.tech AI

Ҷавоб аз AI

SQL JOIN об'єднує рядки з двох або більше таблиць на основі спільної колонки між ними. Існує кілька типів JOIN:

  • INNER JOIN: Повертає рядки, де значення співпадають в обох таблицях.
  • LEFT (OUTER) JOIN: Повертає всі рядки з лівої таблиці та співпадаючі рядки з правої. Якщо співпадінь немає, повертаються значення NULL для стовпців правої таблиці.
  • RIGHT (OUTER) JOIN: Повертає всі рядки з правої таблиці та співпадаючі з лівою. Якщо співпадінь немає, повертаються NULL для стовпців лівої таблиці.
  • FULL (OUTER) JOIN: Повертає всі рядки з обох таблиць. Якщо співпадінь немає, повертаються NULL для відповідних стовпців.
  • CROSS JOIN: Повертає декартове добуток двох таблиць (кожен рядок з першої таблиці об'єднується з кожним рядком з другої).

Синтаксис зазвичай виглядає так:

SELECT стовпець1, стовпець2...
FROM таблиця1
JOIN таблиця2 ON таблиця1.спільний_стовпець = таблиця2.спільний_стовпець;

Приклад INNER JOIN:

SELECT замовлення.order_id, клієнти.customer_name
FROM замовлення
INNER JOIN клієнти ON замовлення.customer_id = клієнти.customer_id;

Розглянемо таблиці клієнти та замовлення:

клієнти

customer_id customer_name
1 Alice
2 Bob
3 Charlie

замовлення

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

Результат INNER JOIN буде:

order_id customer_name
101 Alice
102 Bob
103 Alice

Результат LEFT JOIN (замовлення LEFT JOIN клієнти):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL