..


Σύνδεσμοι διαφημιζόμενων

Χρησιμοποιώντας Ένωσης να συνδυάσει τα αποτελέσματα από δύο πίνακες

Το άρθρο γράφτηκε από τον Max Bossi

Η γλώσσα SQL μας προσφέρει ένα αρκετά απλό τρόπο για να συνδυάσει, στο πλαίσιο της ίδιας SELECT, τα αποτελέσματα δύο διαφορετικούς πίνακες.

Για να επιτευχθεί αυτό, είναι η ώρα να χρησιμοποιήσετε all'opertore Ένωσης, η οποία, στην πραγματικότητα, η ένωση των αποτελεσμάτων που προκύπτουν από αναζήτηση των δύο πινάκων.

Σημειώστε ότι για να χρησιμοποιηθεί σωστά, είναι η ώρα που ο χειριστής ΕΝΩΣΗΣ:

  • ότι οι πίνακες ερώτημα για τον ίδιο αριθμό στηλών?
  • ζητεί από την στήλες έχουν το ίδιο όνομα?
  • ότι οι απαιτούμενες στήλες στους δύο πίνακες έχουν συνεπή τύπους δεδομένων?
Εδώ είναι ένα παράδειγμα: ας υποθέσουμε ότι να πρέπει να λειτουργούν σε μια βάση δεδομένων της υποθετικής ταξιδιωτικό γραφείο και να υποθέσουμε ότι η DB μας περιέχει μόνο δύο πίνακες:
  • hotel_italia
    • όνομα
    • αστέρια
    • πόλη
    • έθνος
  • hotel_europa
    • όνομα
    • αστέρια
    • πόλη
    • έθνος
Τώρα, ας υποθέσουμε ότι ένας πελάτης θέλει να γνωρίζει ούτε τις προσφορές των ξενοδοχείων στην Ιταλία και στην Ευρώπη:





 Επιλέξτε το όνομα, τα αστέρια, πόλη, χώρα







 ΑΠΟ hotel_italia







 ΕΝΩΣΗ







 Επιλέξτε το όνομα, τα αστέρια, πόλη, χώρα







 ΑΠΟ hotel_europa



Με αυτό το ερώτημα θα έχουμε μια πλήρη λίστα όλων των ξενοδοχείων και στους δύο πίνακες:

όνομα αστέρια πόλη έθνος
Hotel Cavour 4 Ρώμη EN
Hotel Miramare 2 Καθολικός EN
Hotel Manzoni 2 Μιλάνο EN
Hotel Espana 3 Μαδρίτη ES
Hilton 5 Λονδίνο Ηνωμένο Βασίλειο
Hotel am Schlossgarten 4 Στουτγάρδη DE

Σημείωση: παρακαλούμε να σημειώσετε ότι η Ένωση δεν δείχνει καμία διπλών εγγραφών (εξ ορισμού λειτουργεί ως εάν να ήταν ένα SELECT DISTINCT ), και αν θέλετε όλες τις διπλές εγγραφές, επίσης, παρουσιάζουν (σκεφτείτε πίσω στο παράδειγμά μας, σε ένα ξενοδοχείο αυτής της τόσο στον πίνακα που hotel_italia hotel_europa) θα χρειαστεί να χρησιμοποιήσετε ΕΝΩΣΗΣ ΟΛΑ.

Ταξινόμηση και περιορίζουν τα αποτελέσματα που προκύπτουν από ΕΝΩΣΗΣ

Ας υποθέσουμε ότι τα αποτελέσματα της χρήσης Ένωση και πολλοί θέλουν να περιορίζεται σε συγκεκριμένο αριθμό. Πώς; Εδώ είναι μια λύση:

 



 SELECT * FROM







 (Επιλέξτε το όνομα, αστέρια, πόλη, χώρα από την hotel_italia







 ΕΝΩΣΗ







 Επιλέξτε το όνομα, τα αστέρια, πόλη, χώρα από την hotel_europa)







 AS Hotel







 ORDER BY DESC LIMIT 10 αστέρια

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

Στην ίδια κατηγορία ...
E-Learning
MS Access (για προχωρημένους) MS Access (για προχωρημένους)
Μάθετε πώς να δημιουργήσετε και να διαχειριστείτε τις βάσεις δεδομένων γρήγορα και εύκολα. Ξεκινώντας από 29 €.
MySQL (Μάθημα) MySQL (Μάθημα)
Διαχείριση του open-source βάση δεδομένων. Από 39 €.
SQL και βάσης δεδομένων (Μάθημα) SQL και βάσης δεδομένων (Μάθημα)
Δημιουργία και διαχείριση των σχεσιακών βάσεων δεδομένων. Από 39 €.
Σύνδεσμοι διαφημιζόμενων