Sobes.tech
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;

Αυτή η ερώτηση θα επιστρέψει τα ονόματα των υπαλλήλων και τα ονόματα των τμημάτων τους μόνο για τους υπαλλήλους που έχουν τμήμα.