Sobes.tech
Junior

Τι είναι ο τελεστής inner join στη SQL και σε ποιες περιπτώσεις πρέπει να χρησιμοποιείται;

sobes.tech AI

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

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

Περιπτώσεις χρήσης:

  • Όταν χρειάζεται να ληφθούν δεδομένα από σχετιζόμενους πίνακες, όπου για κάθε εγγραφή σε έναν πίνακα υπάρχει μια αντίστοιχη εγγραφή σε έναν άλλο.
  • Όταν πρέπει να επιλεγούν κοινές εγγραφές μεταξύ δύο συνόλων δεδομένων.
  • Φιλτράρισμα δεδομένων, όταν θέλετε να αποκλείσετε εγγραφές που δεν έχουν αντιστοιχία σε έναν άλλο πίνακα.

Παράδειγμα:

Ας υποθέσουμε ότι υπάρχουν δύο πίνακες: Users (id, username) και Orders (id, user_id, amount). Για να πάρετε μια λίστα χρηστών και των παραγγελιών τους, όπου οι χρήστες έχουν πραγματικά κάνει παραγγελίες, χρησιμοποιείται το INNER JOIN:

SELECT
    u.username,
    o.amount
FROM
    Users u
INNER JOIN
    Orders o ON u.id = o.user_id;

Ο πίνακας που απεικονίζει το αποτέλεσμα:

username amount
user1 100
user2 50
user1 200

Αν ο user3 δεν είχε παραγγελίες στον πίνακα Orders, δεν θα εμφανιζόταν στο αποτέλεσμα του INNER JOIN.