Junior — Middle
Μπορείτε να εξηγήσετε τις διαφορές μεταξύ των διαφορετικών τύπων συνδέσεων πινάκων σε SQL;
sobes.tech AI
Απάντηση από AI
Στο SQL, υπάρχουν διάφοροι βασικοί τύποι συνενώσεων (JOIN) που επιτρέπουν τον συνδυασμό δεδομένων από δύο ή περισσότερους πίνακες:
- INNER JOIN — επιστρέφει μόνο τις γραμμές όπου υπάρχει αντιστοιχία και στους δύο πίνακες σύμφωνα με την προϋπόθεση.
- LEFT JOIN (LEFT OUTER JOIN) — επιστρέφει όλες τις γραμμές από τον αριστερό πίνακα και τις αντίστοιχες γραμμές από τον δεξιό; αν δεν υπάρχει αντιστοιχία, οι τιμές από τον δεξιό πίνακα θα είναι NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — επιστρέφει όλες τις γραμμές από τον δεξιό πίνακα και τις αντίστοιχες από τον αριστερό.
- FULL JOIN (FULL OUTER JOIN) — επιστρέφει όλες τις γραμμές και από τους δύο πίνακες, συμπληρώνοντας με NULL όπου δεν υπάρχει αντιστοιχία.
- CROSS JOIN — καρτεσιανό γινόμενο δύο πινάκων, επιστρέφει όλες τις δυνατές συνδυασμούς γραμμών.
Παράδειγμα INNER JOIN:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
Αυτή η ερώτηση θα επιστρέψει τα ονόματα των υπαλλήλων και τα ονόματα των τμημάτων τους μόνο για τους υπαλλήλους που έχουν τμήμα.