Πίνακες:
1. Πελάτες: Αυτός ο πίνακας περιέχει πληροφορίες σχετικά με τους πελάτες σας. Τα σχετικά πεδία ενδέχεται να περιλαμβάνουν:
* `customer_id` (πρωτογενές κλειδί)
* `customer_name` (ή παρόμοιο πεδίο αναγνώρισης)
2. Παραγγελίες: Αυτός ο πίνακας παρακολουθεί τις παραγγελίες πελατών. Τα σχετικά πεδία περιλαμβάνουν:
* `order_id` (πρωτεύον κλειδί)
* `customer_id` (ξένοι πελάτες αναφοράς κλειδιών)
* `order_date '
* `shipping_date` (υποδεικνύει πότε αποστέλλεται η παραγγελία)
3. order_items (ή παρόμοια): Αυτός ο πίνακας περιγράφει λεπτομερώς τα στοιχεία που περιλαμβάνονται σε κάθε σειρά. Τα σχετικά πεδία περιλαμβάνουν:
* `order_item_id` (πρωτεύον κλειδί)
* `order_id` (παραγγελίες αναφοράς ξένου κλειδιού)
* `book_id` (βιβλία αναφοράς ξένων κλειδιών - βλ. Παρακάτω)
* «Ποσότητα» (αριθμός αντιγράφων του βιβλίου)
4. Βιβλία: Αυτός ο πίνακας περιέχει πληροφορίες για τα ίδια τα βιβλία. Τα σχετικά πεδία είναι:
* `book_id` (πρωτεύον κλειδί)
* `book_title` (ο τίτλος του βιβλίου)
Λογική ερωτήματος:
Θα πρέπει να συμμετάσχετε σε αυτούς τους πίνακες χρησιμοποιώντας τα ξένα κλειδιά για να συνδέσετε τις παραγγελίες με τους πελάτες και να παραγγείλετε αντικείμενα σε βιβλία. Το πεδίο `shipping_date` στον πίνακα` παραγγελίες 'είναι ζωτικής σημασίας για το φιλτράρισμα των παραγγελιών που έχουν ήδη αποσταλεί.
Ένα ερώτημα SQL μπορεί να φαίνεται κάτι τέτοιο (η ακριβής σύνταξη μπορεί να διαφέρει ελαφρώς ανάλογα με το συγκεκριμένο σύστημα βάσης δεδομένων):
`` sql
ΕΠΙΛΕΓΩ
B.Book_Title
ΑΠΟ
Πελάτες γ
ΕΝΩΝΩ
Παραγγελίες o στο c.customer_id =o.customer_id
ΕΝΩΝΩ
Order_items oi στο o.order_id =oi.order_id
ΕΝΩΝΩ
Βιβλία Β στο oi.book_id =b.book_id
ΟΠΟΥ
Το O.Shipping_date δεν είναι μηδενικό -που έχει αποσταλεί η παραγγελία
Και C.Customer_ID =[CUSTERN_ID] - Αντικαταστήστε το [customer_id] με το συγκεκριμένο αναγνωριστικό πελάτη
;
`` `
Αυτό το ερώτημα θα επιστρέψει μια λίστα με `book_title που αγοράστηκε από έναν συγκεκριμένο πελάτη του οποίου η παραγγελία έχει ένα` shipping_date '. Θα πρέπει να αντικαταστήσετε το `[customer_id]` με το πραγματικό `customer_id` που σας ενδιαφέρει. Εάν θέλετε όλους τους πελάτες, παραλείψτε την κατάσταση των αναγνωριστικών του πελάτη` όπου 'ρήτρα. Ίσως θελήσετε επίσης να προσθέσετε `group by b.book_title` για να αποφύγετε διπλούς τίτλους βιβλίων εάν ένας πελάτης αγόρασε πολλαπλά αντίγραφα.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα