Sobes.tech
Middle

Ποια είναι η διαφορά μεταξύ JOIN, LEFT JOIN και RIGHT JOIN;

sobes.tech AI

Απάντηση από AI

JOIN είναι μια λειτουργία σε SQL που συνδυάζει τις γραμμές από δύο πίνακες με βάση την προϋπόθεση ότι οι τιμές στις καθορισμένες στήλες ταιριάζουν.

  • JOIN (ή INNER JOIN) επιστρέφει μόνο τις γραμμές που έχουν ταιριάσματα και στους δύο πίνακες.
  • LEFT JOIN επιστρέφει όλες τις γραμμές από τον αριστερό πίνακα και τις αντίστοιχες από τον δεξιό. Αν δεν υπάρχουν ταιριάσματα, οι στήλες του δεξιού πίνακα θα είναι NULL.
  • RIGHT JOIN επιστρέφει όλες τις γραμμές από τον δεξιό πίνακα και τις αντίστοιχες από τον αριστερό, με NULL όπου δεν υπάρχουν ταιριάσματα.

Παράδειγμα:

SELECT * FROM A
JOIN B ON A.id = B.a_id; -- μόνο ταιριάσματα

SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- όλα από τον A + ταιριάσματα από τον B

SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- όλα από τον B + ταιριάσματα από τον A