Sobes.tech
Junior

Ποιοι τύποι 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;