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