Ποιοι τύποι ενώσεων (join) υπάρχουν στο SQL;
sobes.tech AI
Απάντηση από AI
Στο SQL υπάρχουν οι ακόλουθοι τύποι συνενώσεων:
-
INNER JOIN: Επιστρέφει τις γραμμές για τις οποίες υπάρχουν αντιστοιχίσεις και στις δύο πίνακες. Οι γραμμές χωρίς αντιστοιχίσεις απορρίπτονται.
-
LEFT JOIN (ή LEFT OUTER JOIN): Επιστρέφει όλες τις γραμμές από τον αριστερό πίνακα και τις αντίστοιχες γραμμές από τον δεξιό πίνακα. Για τις γραμμές από τον αριστερό πίνακα χωρίς αντιστοιχίσεις, τα αντίστοιχα πεδία θα είναι NULL.
-
RIGHT JOIN (ή RIGHT OUTER JOIN): Επιστρέφει όλες τις γραμμές από τον δεξιό πίνακα και τις αντίστοιχες γραμμές από τον αριστερό πίνακα. Για τις γραμμές από τον δεξιό πίνακα χωρίς αντιστοιχίσεις, τα αντίστοιχα πεδία θα είναι NULL.
-
FULL JOIN (ή FULL OUTER JOIN): Επιστρέφει όλες τις γραμμές όπου υπάρχει αντιστοιχία στον αριστερό ή δεξιό πίνακα. Αν μια γραμμή σε έναν πίνακα δεν έχει αντιστοιχία στον άλλο, τα αντίστοιχα πεδία θα είναι NULL.
-
CROSS JOIN: Επιστρέφει το καρτεσιανό γινόμενο των γραμμών των δύο πινάκων. Κάθε γραμμή από τον πρώτο πίνακα συνδυάζεται με κάθε γραμμή από τον δεύτερο.
Παράδειγμα σύνταξης:
SELECT στήλη1, στήλη2
FROM πίνακας1
[τύπος_σύνδεσης] JOIN πίνακας2
ON πίνακας1.κοινή_στήλη = πίνακας2.κοινή_στήλη;