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