Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει αυτόματη σύνδεση;
Μια αυτοσύνδεση, γνωστή και ως εσωτερική σύνδεση, είναι μια δήλωση δομημένης γλώσσας ερωτήματος (SQL) όπου ένας ερωτημένος πίνακας συνδέεται με τον εαυτό της. Η δήλωση αυτοσύνδεσης είναι απαραίτητη όταν συγκρίνονται δύο σύνολα δεδομένων, στον ίδιο πίνακα.
Η Techopedia εξηγεί την αυτο-συμμετοχή
Για παράδειγμα, υπάρχει ένας πίνακας με την ονομασία EMPLOYEES που περιέχει τρεις στήλες:
- όνομα υπαλλήλου
- Ταυτότητα Υπαλλήλου
- αναγνωριστικό διαχειριστή εργαζομένων
Επειδή οι διαχειριστές είναι επίσης υπάλληλοι, η στήλη MANAGER_ID περιέχει επίσης το αναγνωριστικό ενός άλλου υπαλλήλου που είναι επίσης ο διαχειριστής. Για να γράψετε ένα ερώτημα για να εξαγάγετε τα ονόματα των εργαζομένων και των διαχειριστών και τα αναγνωριστικά, ο πίνακας πρέπει να χωριστεί λογικά σε μισό για να εκτελέσετε δύο ξεχωριστά ερωτήματα: εργαζόμενοι (πρώτος πίνακας) και διαχειριστές (δεύτερος πίνακας). Αυτό επιτυγχάνεται με την εκτέλεση του ακόλουθου δείγματος ερώτημα SQL:
ΕΠΙΛΕΞΤΕ όνομα a.employee_name, b.employee_name ως Όνομα_διαχειριστή
ΑΠΟ υπαλλήλους ως α, υπάλληλοι ως β
WHERE a.manager_id = b.employee_id
Η κατανόηση της ιδέας και των συνθηκών αυτοσύνδεσης είναι απαραίτητη για την κατανόηση της παραπάνω δήλωσης SQL.
Στο παράδειγμα, ο δεύτερος πίνακας EMPLOYEES δίνεται στο ψευδώνυμο b, το οποίο είναι στην πραγματικότητα ένα υποσύνολο του συνολικού πίνακα EMPLOYEES. Ωστόσο, η προϋπόθεση WHERE αναγκάζει τον πρώτο πίνακα EMPLOYEES να ερωτήσει τον διαχειριστή των εργαζομένων στον δεύτερο πίνακα EMPLOYEES.
