Sobes.tech
Junior — Middle

Ποια είναι η διαφορά μεταξύ εσωτερικής σύνδεσης και δεξιάς εξωτερικής σύνδεσης σε SQL;

sobes.tech AI

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

Στο SQL, η εσωτερική σύνδεση (INNER JOIN) και η δεξιά εξωτερική σύνδεση (RIGHT OUTER JOIN) διαφέρουν στο ποια γραμμές από τους πίνακες περιλαμβάνονται στο αποτέλεσμα.

  • INNER JOIN επιστρέφει μόνο τις γραμμές που έχουν αντιστοιχίσεις και στους δύο πίνακες σύμφωνα με την συνθήκη σύνδεσης.

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

Παράδειγμα:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Επιστρέφει μόνο τις γραμμές όπου το A.id ταιριάζει με το B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Επιστρέφει όλες τις γραμμές από τον B, ακόμα και αν δεν υπάρχει αντιστοιχία στον A