Ακολουθεί ένα παράδειγμα συμμετοχής σε τέσσερις πίνακες στο SQL Server, μαζί με εξηγήσεις:
σενάριο: Φανταστείτε μια βάση δεδομένων για ένα βιβλιοπωλείο:
* Πελάτες: Αποθηκεύει πληροφορίες πελατών (CustomerId, FirstName, LastName, Email)
* Παραγγελίες: Περιέχει λεπτομέρειες παραγγελίας (orderID, customerId, dradedate, TotalAmount)
* orderItems: Παραθέτει στοιχεία σε κάθε σειρά (orderItemid, orderId, bookid, ποσότητα)
* Βιβλία: Διατηρεί πληροφορίες για κάθε βιβλίο (Bookid, Τίτλος, Συγγραφέας, Τιμή)
Στόχος: Αποκτήστε μια λίστα με ονόματα πελατών, ημερομηνίες παραγγελιών και τους τίτλους των βιβλίων που αγόρασαν.
`` sql
ΕΠΙΛΕΓΩ
c.firstname,
C.LastName,
O.Orderdate,
B.Title ως booktitle
ΑΠΟ
Πελάτες γ
ΕΝΩΝΩ
Παραγγελίες o στο c.CustomerId =O.CustomerId
ΕΝΩΝΩ
OrderItems oi o.OrorderId =oi.OrderId
ΕΝΩΝΩ
Βιβλία Β στο oi.bookid =b.bookid
Παραγγείνω κατά
C.LastName, O.OrorderDate;
`` `
Επεξήγηση:
1. Επιλέξτε ρήτρα: Καθορίζει τις στήλες για ανάκτηση (όνομα πελάτη, ημερομηνία παραγγελίας, τίτλος βιβλίου).
2. από τη ρήτρα: Παραθέτει τους πίνακες που εμπλέκονται στην ένωση.
3. Συμμετοχή ρήτρες: Συνδέστε τους πίνακες που βασίζονται σε κοινές στήλες.
* `Συμμετοχή παραγγελιών o o c.customerid =o.customerid`:Συνδέει` πελάτες 'και `παραγγελίες' στη στήλη` customerId '.
* `Συμμετοχή στο OrderItems oi o.OrorderId =oi.OrderId`:Συνδέει` Παραγγελίες 'και `orderItems` στη στήλη` orderid`.
* `Συμμετοχή βιβλίων B στο oi.bookid =b.bookid`:Συνδέει` orderItems 'και `books' στη στήλη` bookid '.
4. Παραγγελία με ρήτρα: Ταξινόμηση των αποτελεσμάτων από το επώνυμο και την ημερομηνία παραγγελίας του πελάτη.
Βασικά σημεία:
* Τύποι: Μπορείτε να χρησιμοποιήσετε διαφορετικούς τύπους ενωμένων τύπων όπως `left join ',` right join' ή `full join 'ανάλογα με τις συγκεκριμένες απαιτήσεις σας.
* ψευδώνυμα: Χρησιμοποιώντας ψευδώνυμα (π.χ., `c` για` πελάτες ') καθιστά το ερώτημα πιο ευανάγνωστο.
* Ονόματα στηλών: Προσέξτε τα διπλά ονόματα στηλών σε πίνακες. Χρησιμοποιήστε ψευδώνυμα πίνακα (π.χ., `b.title ') για να διευκρινίσετε.
* Βελτιστοποίηση: Για σύνθετα ερωτήματα, εξετάστε τη χρήση δεικτών στις στήλες σύνδεσης για βελτιωμένη απόδοση.
Πρόσθετες σημειώσεις:
* Αυτό το παράδειγμα καταδεικνύει μια βασική σύνδεση χρησιμοποιώντας πολλούς πίνακες. Μπορείτε να τροποποιήσετε το ερώτημα για να συμπεριλάβετε περισσότερες στήλες, φίλτρα ή συνολικές λειτουργίες που βασίζονται στις συγκεκριμένες ανάγκες σας.
* Η ρήτρα "Παραγγελία από" είναι προαιρετική, αλλά βοηθά στην οργάνωση των αποτελεσμάτων με ουσιαστικό τρόπο.
Μη διστάσετε να προσαρμόσετε αυτό το παράδειγμα στο δικό σας σχήμα βάσης δεδομένων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα