Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ LEFT JOIN και INNER JOIN;

sobes.tech AI

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

INNER JOIN επιστρέφει μόνο τις γραμμές για τις οποίες υπάρχουν αντιστοιχίσεις και στις δύο ενώσεις πίνακες.

LEFT JOINLEFT OUTER JOIN) επιστρέφει όλες τις γραμμές από τον αριστερό πίνακα και τις αντίστοιχες γραμμές από τον δεξιό πίνακα. Αν δεν υπάρχουν αντιστοιχίσεις στον δεξιό πίνακα, οι στήλες του δεξιού πίνακα θα περιέχουν NULL.

Παράδειγμα:

Ας υποθέσουμε ότι υπάρχουν δύο πίνακες: Υπάλληλοι (id, όνομα) και Τμήματα (id, όνομα, διευθυντής_id).

INNER JOIN Υπάλληλοι ΚΑΙ Τμήματα ΣΤΟ Υπάλληλοι.id = Τμήματα.διευθυντής_id

Θα επιστρέψει μόνο τους υπαλλήλους που είναι διευθυντές τμημάτων.

LEFT JOIN Υπάλληλοι ΚΑΙ Τμήματα ΣΤΟ Υπάλληλοι.id = Τμήματα.διευθυντής_id

Θα επιστρέψει όλους τους υπαλλήλους. Για αυτούς που είναι διευθυντές τμημάτων, θα συμπεριληφθούν και τα δεδομένα του τμήματος. Για τους υπαλλήλους που δεν είναι διευθυντές, οι στήλες του πίνακα Τμήματα θα περιέχουν NULL.