Junior — Middle
Μπορείτε να εξηγήσετε τις διαφορές μεταξύ εσωτερικής σύνδεσης και αριστερής σύνδεσης σε SQL;
sobes.tech AI
Απάντηση από AI
Εσωτερική Συγχώνευση (INNER JOIN) επιστρέφει μόνο τις γραμμές που έχουν αντιστοιχίσεις και στις δύο πίνακες σύμφωνα με την συνθήκη συγχώνευσης. Αν σε έναν από τους πίνακες δεν υπάρχει αντίστοιχη εγγραφή, η γραμμή αυτή δεν περιλαμβάνεται στο αποτέλεσμα.
Αριστερή Συγχώνευση (LEFT JOIN) επιστρέφει όλες τις γραμμές από τον αριστερό πίνακα και τις αντίστοιχες γραμμές από τον δεξιό πίνακα. Αν δεν υπάρχει αντιστοιχία, οι τιμές από τον δεξιό πίνακα θα είναι NULL.
Παράδειγμα:
SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;
Θα επιστρέψει μόνο τους πελάτες που έχουν παραγγελίες.
SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;
Θα επιστρέψει όλους τους πελάτες, συμπεριλαμβανομένων αυτών χωρίς παραγγελίες (σε αυτή την περίπτωση, το order_id θα είναι NULL).