Μια εσωτερική σύνδεση στο SQL Server 2000 συνδυάζει σειρές από δύο πίνακες με βάση μια κατάσταση αντιστοίχισης μεταξύ συγκεκριμένων στηλών. Επιστρέφει μόνο εκείνες τις σειρές όπου υπάρχει μια αντίστοιχη τιμή και στους δύο πίνακες.
Εδώ είναι μια κατανομή:
1. Συμμετοχή σε δύο πίνακες:
- Χρειάζεστε δύο πίνακες με συναφή δεδομένα που θέλετε να συνδυάσετε. Για παράδειγμα, ένας πίνακας `πελάτες 'και ένας πίνακας` παραγγελίες' με μια κοινή στήλη όπως το `customerid '.
2. Η κατάσταση ένωσης:
- Καθορίζετε την προϋπόθεση που πρέπει να πληρούνται για να ενταχθούν σειρές. Αυτή η κατάσταση συνήθως περιλαμβάνει τη σύγκριση μιας στήλης από τον πρώτο πίνακα με μια στήλη από τον δεύτερο πίνακα.
3. Προκύπτουσες σειρές:
- Η εσωτερική ένωση παράγει έναν νέο πίνακα αποτελεσμάτων που περιέχει μόνο τις σειρές όπου η κατάσταση σύνδεσης είναι αληθής. Με άλλα λόγια, περιλαμβάνει μόνο τις σειρές που έχουν μια αντίστοιχη τιμή και στους δύο πίνακες.
Σύνταξη:
`` sql
Επιλέξτε Στήλη1, Στήλη2, ...
Από τον Πίνακα1
Εσωτερική συμμετοχή του Πίνακα2 στο join_condition;
`` `
Παράδειγμα:
Ας πούμε ότι έχετε έναν πίνακα "πελάτες" και έναν πίνακα "παραγγελιών":
Πίνακας πελατών:
| Πελάτης | Όνομα |
| --- | --- |
| 1 | John Doe |
| 2 | Jane Doe |
| 3 | David Smith |
Πίνακας παραγγελιών:
| Orderid | Πελάτης | Προϊόν |
| --- | --- | --- |
| 101 | 1 | Φορητός υπολογιστής |
| 102 | 2 | Smartphone |
| 103 | 1 | Πληκτρολόγιο |
Για να αποκτήσετε όλους τους πελάτες και τις παραγγελίες τους χρησιμοποιώντας μια εσωτερική συμμετοχή:
`` sql
Επιλέξτε C.Name, O.ORDERID, O.Product
Από τους πελάτες γ
Εσωτερική εντολή εντολών o σε c.CustomerId =o.CustomerId;
`` `
αποτέλεσμα:
| Όνομα | Orderid | Προϊόν |
| --- | --- | --- |
| John Doe | 101 | Φορητός υπολογιστής |
| John Doe | 103 | Πληκτρολόγιο |
| Jane Doe | 102 | Smartphone |
Επεξήγηση:
- Το ερώτημα επιλέγει το "όνομα" από τον πίνακα "πελάτες" (aliased ως `c ') και το προϊόν` orderid' και 'product' από τον πίνακα `Orders` (aliased ως` o`).
- Η ρήτρα "Inner Join" συνδέει τους πίνακες χρησιμοποιώντας τη στήλη `CustomerId`.
- Η ρήτρα `on` καθορίζει την κατάσταση σύνδεσης:` c.customerid =o.customerid`. Αυτό εξασφαλίζει μόνο σειρές με τις αντίστοιχες τιμές `customerid`.
Βασικά σημεία:
- Οι εσωτερικές συνδέσεις είναι ο πιο συνηθισμένος τύπος ένωσης.
- Περιλαμβάνουν μόνο σειρές όπου υπάρχει ένας αγώνας και στους δύο πίνακες.
- Μπορείτε να συμμετάσχετε σε πολλούς πίνακες χρησιμοποιώντας πολλαπλές ρήτρες `Inner Join '.
ΣΗΜΑΝΤΙΚΟ:
- Στο SQL Server 2000, η λέξη -κλειδί `Inner Join 'είναι προαιρετική και μπορεί να αντικατασταθεί με` join'.
- Συνιστάται να χρησιμοποιείτε το `Inner Join 'για σαφήνεια και να αποφύγετε τη σύγχυση με άλλους τύπους συνδέσεων (όπως οι αριστερές συνδέσεις και οι δεξιές ενώσεις).
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα