Sobes.tech
Middle

Kā tu strādā ar SQL? Kādas ir atšķirības starp INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?

sobes.tech AI

Atbilde no AI

SQL JOIN — tas ir darbība, kas apvieno datus no divām tabulām pēc saistīta lauka. Atšķirības starp JOIN veidiem:

  • INNER JOIN — atgriež tikai tās ierakstus, kuriem ir atbilstība abās tabulās.

  • LEFT JOIN (LEFT OUTER JOIN) — atgriež visus ierakstus no kreisās tabulas un atbilstošos no labās; ja atbilstība nav, labajā daļā būs NULL.

  • RIGHT JOIN (RIGHT OUTER JOIN) — pretēji, atgriež visus ierakstus no labās tabulas un atbilstošos no kreisās; ja atbilstība nav, kreisajā daļā būs NULL.

  • FULL OUTER JOIN — atgriež visus ierakstus no abām tabulām; ja atbilstība nav, attiecīgajos laukos būs NULL.

Piemērs:

SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;

Šī vaicājuma rezultātā tiks atgriezti visi klienti ar viņu pasūtījumiem, ja tādi ir, vai NULL laukā order_date, ja pasūtījumi nav.