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