Sobes.tech
Middle+

Ποιο JOIN χρησιμοποιείται προεπιλογή όταν γράφεις απλά JOIN; Ποιοι τύποι JOIN υπάρχουν;

sobes.tech AI

Απάντηση από AI

Κατά προεπιλογή, όταν γράφουμε απλώς JOIN σε SQL, χρησιμοποιείται το INNER JOIN. Επιστρέφει μόνο τις γραμμές που έχουν αντιστοιχίσεις και στις δύο πίνακες σύμφωνα με την συνθήκη σύνδεσης.

Κύριοι τύποι JOIN:

  • INNER JOIN — επιστρέφει γραμμές με αντιστοιχούντες τιμές και στους δύο πίνακες.
  • LEFT JOIN (LEFT OUTER JOIN) — επιστρέφει όλες τις γραμμές από τον αριστερό πίνακα και τις αντιστοιχούσες από τον δεξιό, αν δεν υπάρχουν αντιστοιχίσεις, τα πεδία του δεξιού θα είναι NULL.
  • RIGHT JOIN (RIGHT OUTER JOIN) — παρόμοιο με το LEFT JOIN, αλλά επιστρέφει όλες τις γραμμές από τον δεξιό πίνακα.
  • FULL JOIN (FULL OUTER JOIN) — επιστρέφει όλες τις γραμμές και από τους δύο πίνακες, όπου δεν υπάρχουν αντιστοιχίσεις, τα πεδία θα είναι NULL.
  • CROSS JOIN — καρτεσιανό γινόμενο δύο πινάκων, επιστρέφει όλες τις δυνατές συνδυαστικές γραμμές.

Παράδειγμα INNER JOIN:

SELECT users.name, orders.id
FROM users
JOIN orders ON users.id = orders.user_id;