Sobes.tech
Junior

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

sobes.tech AI

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

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

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

Στην πραγματικότητα, το RIGHT JOIN είναι ένα καθρέφτισμα του LEFT JOIN. Το αποτέλεσμα του RIGHT JOIN (πίνακας A JOIN πίνακας B) είναι ίσο με το αποτέλεσμα του LEFT JOIN (πίνακας B JOIN πίνακας A) με ανταλλαγμένες τις στήλες.

Παράδειγμα SQL:

-- LEFT JOIN
SELECT *
FROM ΠίνακαςA
LEFT JOIN ΠίνακαςB ON ΠίνακαςA.id = ΠίνακαςB.id;

-- RIGHT JOIN
SELECT *
FROM ΠίνακαςA
RIGHT JOIN ΠίνακαςB ON ΠίνακαςA.id = ΠίνακαςB.id;

Οπτικοποίηση:

Τύπος JOIN Γραμμές που περιλαμβάνονται από τον αριστερό πίνακα Γραμμές που περιλαμβάνονται από τον δεξιό πίνακα
LEFT JOIN Όλες Αντιστοιχούντες (ή NULL)
RIGHT JOIN Αντιστοιχούντες (ή NULL) Όλες