Sobes.tech
Junior

Kā darbojas SQL Join?

sobes.tech AI

Atbilde no AI

SQL JOIN apvieno rindas no divām vai vairākām tabulām, pamatojoties uz saistīto kolonnu starp tām. Pastāv vairāki JOIN veidi:

  • INNER JOIN: Atgriež rindas, kurās vērtības sakrīt abās tabulās.
  • LEFT (OUTER) JOIN: Atgriež visas rindas no kreisās tabulas un sakrītošās rindas no labās. Ja sakritību nav, labās tabulas kolonnās būs NULL vērtības.
  • RIGHT (OUTER) JOIN: Atgriež visas rindas no labās tabulas un sakrītošās rindas no kreisās. Ja sakritību nav, kreisās tabulas kolonnās būs NULL.
  • FULL (OUTER) JOIN: Atgriež visas rindas no abām tabulām. Ja sakritību nav, attiecīgajās kolonnās būs NULL.
  • CROSS JOIN: Atgriež abu tabulu dekartisko produktu (katra pirmās tabulas rinda apvienojas ar katru no otras tabulas rindām).

Sintakse parasti izskatās šādi:

SELECT kolonna1, kolonna2...
FROM tabula1
JOIN tabula2 ON tabula1.kopīgā_kolonna = tabula2.kopīgā_kolonna;

Piemērs INNER JOIN:

SELECT pasūtījumi.order_id, klienti.customer_name
FROM pasūtījumi
INNER JOIN klienti ON pasūtījumi.customer_id = klienti.customer_id;

Aplūkosim tabulas klienti un pasūtījumi:

klienti

customer_id customer_name
1 Alice
2 Bob
3 Charlie

pasūtījumi

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

INNER JOIN rezultāts būs:

order_id customer_name
101 Alice
102 Bob
103 Alice

LEFT JOIN rezultāts (pasūtījumi LEFT JOIN klienti):

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