SQL Union - Ένας περιεκτικός οδηγός για το χειριστή της UNION



Αυτό το άρθρο είναι ένας αναλυτικός οδηγός για το πώς να χρησιμοποιήσετε τον τελεστή SQL UNION. Αυτό το άρθρο περιγράφει τις διαφορές μεταξύ UNION και UNION ALL με παραδείγματα.

Κατά τον χειρισμό δεδομένων σε βάσεις δεδομένων, συνήθως τείνουμε να χρησιμοποιούμε τους τελεστές σετ SQL , για την ανάκτηση δεδομένων σύμφωνα με τις απαιτήσεις μας συνδυάζοντας δύο ή περισσότερες δηλώσεις SELECT. Σε αυτό το άρθρο σχετικά με το SQL UNION, θα συζητήσω τον τελεστή UNION που χρησιμοποιείται για την ανάκτηση δεδομένων με την ακόλουθη σειρά:

Ας ξεκινήσουμε!





Τι είναι ο τελεστής SQL UNION;

Όπως υποδηλώνει το όνομα, αυτός ο τελεστής / ρήτρα χρησιμοποιείται για να συνδυάσει τα αποτελέσματα δύο ή περισσότερων δηλώσεων SELECT. Εδώ κάθε δήλωση SELECT που χρησιμοποιείται στη δήλωση UNION πρέπει να έχει τον ίδιο αριθμό στηλών με την ίδια σειρά. Επίσης, όλες οι στήλες που υπάρχουν στις δηλώσεις SELECT πρέπει να έχουν παρόμοιους τύπους δεδομένων.

Η ρήτρα UNION δίνει μόνο μοναδικές τιμές ως έξοδο. Σε περίπτωση που θέλετε διπλές τιμές, τότε πρέπει να χρησιμοποιήσετε τον όρο UNION ALL.



Προχωρώντας σε αυτό το άρθρο σχετικά με το SQL UNION, ας κατανοήσουμε τη σύνταξη.

Σύνταξη SQL UNION

Σύνταξη UNION

ΕΠΙΛΕΞΤΕ Στήλη1, Στήλη2, Στήλη3, ..., ΣτήληΝ ΑΠΟ ΠΙΝΑΚΑ1 ΕΝΩΣΗ ΕΠΙΛΟΓΗ Στήλη1, Στήλη2, Στήλη3, ..., ΣτήληΝ ΑΠΟ Πίνακα2

Σύνταξη UNION ALL

SELECT Column1, Column2, Column3, ..., ColumnN FROM Table1 UNION ALL SELECT Column1, Column2, Column3, ..., ColumnN FROM Table2

Προχωρώντας σε αυτό το άρθρο, ας κατανοήσουμε τις διαφορές μεταξύ UNION και UNION ALL.

Διαφορές μεταξύ SQL UNION και UNION ALL



ΕΝΩΣΗ ΕΝΩΣΗ ΟΛΑ
Συνδυάζει δύο ή περισσότερα σετ αποτελεσμάτων και δεν διατηρεί τις διπλές τιμές.Συνδυάζει δύο ή περισσότερα σετ αποτελεσμάτων και διατηρεί τις διπλές τιμές.
 Σύνταξη: ΕΝΩΣΗ
 Σύνταξη: ΕΝΩΣΗ ΟΛΑ
SQL UNION -SQL UNION -Edureka

Στη συνέχεια, σε αυτό το άρθρο σχετικά με το SQL UNION, ας κατανοήσουμε τους διαφορετικούς τρόπους χρήσης αυτού του χειριστή.

Παραδείγματα SQL UNION και UNION ALL

Για την καλύτερη κατανόησή σας, θα εξετάσω τους παρακάτω πίνακες για να σας δείξω διαφορετικά παραδείγματα.

Πίνακας εργαζομένων

ΕΜΠΕΙΔ Ονομα EmpAge Πόλη Ταχυδρομικός Κώδικας Χώρα
έναςΈμμα2. 3Βερολίνο12109Γερμανία
2Ραχούλ26Μουμπάι400015Ινδία
3Aayra24Νέα Υόρκη10014ΧΡΗΣΕΙΣ
4Γιάννης32ΛονδίνοΕ1 7ΑΕΗνωμένο Βασίλειο
5Ντέρεκ29Νέα Υόρκη10012ΧΡΗΣΕΙΣ

Πίνακας έργων

ProjectID Ονομα Εργάσιμες μέρες Πόλη Ταχυδρομικός Κώδικας Χώρα
έναςΈργο 110Βερολίνο12109Γερμανία
2Έργο 27Μουμπάι400015Ινδία
3Έργο 3είκοσιΔελχί110006Ινδία
4Έργο 4δεκαπέντεΜουμπάι400015Ινδία
5Έργο 528Βερολίνο12109Γερμανία

Ας ξεκινήσουμε με παραδείγματα.

Παραδείγματα SQL UNION

Παράδειγμα χειριστή της UNION

Γράψτε ένα ερώτημα για να ανακτήσετε διαφορετικές πόλεις από τον πίνακα «Υπάλληλοι και Έργα».

ΕΠΙΛΕΞΤΕ Πόλη ΑΠΟ Εργαζομένους ΕΝΩΣΗ ΕΠΙΛΕΞΤΕ Πόλη ΑΠΟ Έργα ΠΑΡΑΓΓΕΛΙΑ ΑΝΑ Πόλη

Παραγωγή:

Πόλη

Βερολίνο

Δελχί

Λονδίνο

Μουμπάι

Νέα Υόρκη

μετατροπή συμβολοσειράς ημερομηνία σε ημερομηνία

Παράδειγμα χειριστή UNION ALL

Γράψτε ένα ερώτημα για να ανακτήσετε πόλεις από τον πίνακα «Υπάλληλοι και Έργα». Εδώ, πρέπει να περιλαμβάνονται διπλές τιμές.

SELECT City FROM Employees UNION ALL SELECT City FROM Έργα ΠΑΡΑΓΓΕΛΙΑ ΑΝΑ Πόλη

Παραγωγή:

Πόλη

Βερολίνο

Βερολίνο

Βερολίνο

Δελχί

Λονδίνο

Μουμπάι

Μουμπάι

Μουμπάι

Νέα Υόρκη

Νέα Υόρκη

Στη συνέχεια σε αυτό το άρθρο, ας καταλάβουμε πώς να χρησιμοποιήσουμε τον όρο UNION με τα ψευδώνυμα SQL.

UNION με ψευδώνυμα SQL

Χρησιμοποιούνται ψευδώνυμα SQLγια να δώσετε έναν πίνακα ή μια στήλη ένα προσωρινό όνομα. Ας γράψουμε λοιπόν ένα ερώτημα για να απαριθμήσουμε όλους τους μοναδικούς υπαλλήλους και έργα.

ΕΠΙΛΕΞΤΕ «Υπάλληλος» Τύπος AS, Όνομα, Πόλη, Χώρα ΑΠΟ Υπαλλήλους ΕΝΩΣΗ «Έργο», Όνομα, Πόλη, Χώρα ΑΠΟ Έργα

Παραγωγή:

Τύπος Ονομα Πόλη Χώρα
ΥπάλληλοςΈμμαΒερολίνοΓερμανία
ΥπάλληλοςΡαχούλΜουμπάιΙνδία
ΥπάλληλοςAayraΝέα ΥόρκηΧΡΗΣΕΙΣ
ΥπάλληλοςΓιάννηςΛονδίνοΗνωμένο Βασίλειο
ΥπάλληλοςΝτέρεκΝέα ΥόρκηΧΡΗΣΕΙΣ
ΕργοΈργο 1ΒερολίνοΓερμανία
ΕργοΈργο 2ΜουμπάιΙνδία
ΕργοΈργο 3ΔελχίΙνδία
ΕργοΈργο 4ΜουμπάιΙνδία
ΕργοΈργο 5ΒερολίνοΓερμανία

ΕΝΩΣΗ με όρο

Γράψτε ένα ερώτημα για να ανακτήσετε τις ξεχωριστές πόλεις της Ινδίας και τους ταχυδρομικούς κώδικες τους από τον πίνακα «Υπάλληλοι και Έργα».

SELECT City, PostalCode, Country FROM Employees WHERE Country = 'India' UNION SELECT City, PostalCode, Country FROM Projects WHERE Country = 'Ινδία' ΠΑΡΑΓΓΕΛΙΑ ΑΝΑ Πόλη

Παραγωγή:

Πόλη Ταχυδρομικός Κώδικας Χώρα
Δελχί110006Ινδία
Μουμπάι400015Ινδία

ΕΝΩΣΗ ΟΛΩΝ με ΡΗΤΙΑ ΠΟΥ

Γράψτε ένα ερώτημα για να ανακτήσετε πόλεις της Ινδίας και τους ταχυδρομικούς κώδικες τους από τον πίνακα «Υπάλληλοι και Έργα», όπου επιτρέπονται διπλές τιμές

SELECT City, PostalCode, Country FROM Employees WHERE Country = 'India' ΕΝΩΣΗ ALL SELECT City, PostalCode, Country FROM Projects WHERE Country = 'Ινδία' ΠΑΡΑΓΓΕΛΙΑ ΑΝΑ Πόλη

Παραγωγή:

Πόλη Ταχυδρομικός Κώδικας Χώρα
Δελχί110006Ινδία
Μουμπάι400015Ινδία
Μουμπάι400015Ινδία
Μουμπάι400015Ινδία

Προχωρώντας προς τα εμπρός σε αυτό το άρθρο, ας καταλάβουμε πώς να χρησιμοποιήσουμε όλες τις ρήτρες UNION και UNION με τους JOINS.ΣΥΝΔΕΣΕΙΣ στο SQL είναι που χρησιμοποιούνται για το συνδυασμό σειρών από δύο ή περισσότερους πίνακες, με βάση μια σχετική στήλη μεταξύ αυτών των πινάκων.

ΕΝΩΣΗ με ΕΓΓΡΑΦΕΣ

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

Πίνακας ProjectDetails

PID Εργάσιμες μέρες ΕΜΠΕΙΔ CostforProject
έντεκα12420000
2216335000
3330ένας60000
4425345000
55είκοσι έναένας50.000
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECT EmpID, Name, CostforProject FROM υπαλλήλων RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID

Παραγωγή:

ΕΜΠΕΙΔ Ονομα CostforProject
έναςΈμμα60000
έναςΈμμα50.000
2ΡαχούλΜΗΔΕΝΙΚΟ
3Aayra35000
3Aayra45000
4Γιάννης20000
5ΝτέρεκΜΗΔΕΝΙΚΟ

ΕΝΩΣΗ ΟΛΩΝ ΜΕ ΕΓΓΡΑΦΕΣ

Γράψτε ένα ερώτημα για να ανακτήσετε τον πίνακα EmpID, Name και CostforProject από τους υπαλλήλους και το ProjectDetails, όπου επιτρέπονται διπλές τιμές.

SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON υπαλλήλους.EmpID = ProjectDetails.EmpID

Παραγωγή:

ΕΜΠΕΙΔ Ονομα CostforProject
έναςΈμμα60000
έναςΈμμα50.000
2ΡαχούλΜΗΔΕΝΙΚΟ
3Aayra35000
3Aayra45000
4Γιάννης20000
5ΝτέρεκΜΗΔΕΝΙΚΟ
4Γιάννης20000
3Aayra35000
έναςΈμμα60000
3Aayra35000
έναςΈμμα50.000

Με αυτό, φτάνω στο τέλος αυτού του άρθρου σχετικά με την SQL UNION. Ελπίζω να σας άρεσε να διαβάζετε αυτό το άρθρο στο SQL UNION. Έχουμε δει τους διαφορετικούς τρόπους χρήσης των εντολών UNION και UNION ALL για να σας βοηθήσουμε να γράψετε ερωτήματα. Εάν θέλετε να μάθετε περισσότερα για MySQL και γνωρίστε αυτήν τη σχεσιακή βάση δεδομένων ανοιχτού κώδικα και, στη συνέχεια, ρίξτε μια ματιά στη δική μας που έρχεται με ζωντανή εκπαίδευση με καθοδήγηση εκπαιδευτή και πραγματική εμπειρία έργου. Αυτή η εκπαίδευση θα σας βοηθήσει να κατανοήσετε τη MySQL σε βάθος και να σας βοηθήσει να επιτύχετε την εξουσία πάνω στο θέμα.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων του 'SQL UNION' και θα επικοινωνήσω μαζί σας.