Πώς να συνδέσετε δύο πίνακες στο MySQL χωρίς να χρησιμοποιήσετε το Join;

Pos Na Syndesete Dyo Pinakes Sto Mysql Choris Na Chresimopoiesete To Join



Ο ' ΣΥΜΜΕΤΟΧΗ Ο όρος ” χρησιμοποιείται για να συνδυάσει τους πίνακες στη MySQL, αλλά ο πίνακας μπορεί επίσης να συνδεθεί χωρίς τη χρήση του. Πιο συγκεκριμένα, το « ΕΝΩΣΗ », « ΕΝΩΣΗ ΟΛΩΝ 'και το κόμμα' , ” είναι τρεις διαφορετικοί τρόποι που μπορούν να παράγουν το ίδιο αποτέλεσμα με την ρήτρα “JOIN”. Το κόμμα μπορεί να χρησιμοποιηθεί στη θέση του όρου «ΣΥΝΔΕΣΗ», ενώ το «ΕΝΩΣΗ» ή «ΕΝΩΣΗ ΟΛΩΝ» χρησιμοποιούνται με μια δήλωση «ΕΠΙΛΟΓΗ» για να ενωθούν οι εγγραφές δύο πινάκων.

Αυτή η ανάρτηση θα εξηγήσει πώς να ενώσετε δύο πίνακες στη MySQL:







Μέθοδος 1: Συνδέστε δύο πίνακες στο MySQL χρησιμοποιώντας ','

Στη MySQL, οι πίνακες μπορούν να ενωθούν χρησιμοποιώντας ' , 'αντί για το ' ΣΥΜΜΕΤΟΧΗ «ρήτρα. Η σύνταξή του δίνεται παρακάτω:



ΕΠΙΛΕΓΩ *
ΑΠΟ [ πίνακας 1-όνομα ] , [ πίνακας2-όνομα ] ;



Η κύρια διαφορά είναι μόνο η αντικατάσταση της λέξης-κλειδιού ' ΣΥΜΜΕΤΟΧΗ ' με ' , ”:





ΕΠΙΛΕΓΩ *
ΑΠΟ [ πίνακας 1-όνομα ] ΣΥΜΜΕΤΟΧΗ [ πίνακας2-όνομα ] ;

Χρησιμοποιήστε το κόμμα ' , ' σύνταξη με το ' ΟΠΟΥ ” ρήτρα για να ενώσετε τους πίνακες με βάση μια συγκεκριμένη συνθήκη. Η σύνταξη δίνεται παρακάτω:



ΕΠΙΛΕΓΩ *
ΑΠΟ [ πίνακας 1-όνομα ] , [ πίνακας2-όνομα ]
ΟΠΟΥ [ κατάσταση ] ;

Παράδειγμα 1: Χρήση “,” Χωρίς Προϋπόθεση

Ας συμμετάσχουμε» προϊόντα ' και ' δεδομένα χρήστη 'πίνακες με τον καθορισμό' , ' ως εξής:

ΕΠΙΛΕΓΩ *
ΑΠΟ προϊόντα, δεδομένα χρήστη.

Παραγωγή

Η έξοδος δείχνει ότι οι πίνακες «προϊόντα» και «δεδομένα χρήστη» έχουν ενωθεί χωρίς τη χρήση της ρήτρας «ΣΥΝΔΕΣΗ».

Παράδειγμα 2: Χρήση «,» με συνθήκη

Ας δούμε ένα παράδειγμα ένωσης δύο πινάκων όπου ' userdata.id ' είναι μεγαλύτερο από 2 :

ΕΠΙΛΕΓΩ *
ΑΠΟ προϊόντα, δεδομένα χρήστη
WHERE userdata.id > 2 ;

Παραγωγή

Η έξοδος έδειξε ότι οι επιλεγμένοι πίνακες είχαν ενωθεί με βάση τη δεδομένη συνθήκη.

Μέθοδος 2: Συνδέστε δύο πίνακες στη MySQL χρησιμοποιώντας 'UNION' ή 'UNION ALL'

Στη MySQL, το ' ΕΝΩΣΗ ' ή ' ΕΝΩΣΗ ΟΛΩΝ Οι τελεστές μπορούν να χρησιμοποιηθούν για τη συγχώνευση των συνόλων αποτελεσμάτων πολλαπλών δηλώσεων SELECT. Η σύνταξη δίνεται παρακάτω:

ΕΠΙΛΕΓΩ * ΑΠΟ [ πίνακας 1-όνομα ]

ΕΝΩΣΗ | ΕΝΩΣΗ ΟΛΩΝ

ΕΠΙΛΕΓΩ * ΑΠΟ [ πίνακας2-όνομα ]

Η παραπάνω σύνταξη μπορεί να χρησιμοποιηθεί είτε με 'UNION' είτε με 'UNION ALL'.

Παράδειγμα 1: Χρήση του χειριστή «UNION».

Στη MySQL, το ' ΕΝΩΣΗ Ο τελεστής συγχωνεύει τα αποτελέσματα πολλαπλών εντολών SELECT αλλά εξαλείφει τυχόν διπλότυπες σειρές από το αποτέλεσμα. Το ερώτημα δίνεται παρακάτω:

ΕΠΙΛΕΓΩ * ΑΠΟ τα δεδομένα χρήστη
ΕΝΩΣΗ
ΕΠΙΛΕΓΩ * ΑΠΟ τα δεδομένα των εργαζομένων.

Παραγωγή

Η έξοδος δείχνει ότι το « δεδομένα χρήστη ' και ' δεδομένα εργαζομένων Οι πίνακες έχουν ενωθεί και οι διπλές σειρές έχουν εξαλειφθεί.

Παράδειγμα 2: Χρήση του τελεστή 'UNION ALL'.

Στη MySQL, το ' ΕΝΩΣΗ ΟΛΩΝ Ο τελεστής συγχωνεύει τα αποτελέσματα πολλαπλών δηλώσεων SELECT χωρίς να εξαλείφει τις διπλές σειρές.

Ας εκτελέσουμε το ακόλουθο ερώτημα για μια βαθιά κατανόηση:

ΕΠΙΛΕΓΩ * ΑΠΟ τα δεδομένα χρήστη
ΕΝΩΣΗ ΟΛΩΝ
ΕΠΙΛΕΓΩ * ΑΠΟ τα δεδομένα των εργαζομένων.

Παραγωγή

Μπορεί να παρατηρηθεί ότι ο πίνακας που προκύπτει περιέχει και τις διπλές σειρές.

Παράδειγμα 3: Χρήση χειριστή «UNION» με την κατάσταση

Στη MySQL, το ' ΕΝΩΣΗ Ο χειριστής ' μπορεί επίσης να χρησιμοποιηθεί με το ' ΟΠΟΥ ρήτρα για το φιλτράρισμα του αποτελέσματος δύο ή περισσότερων δηλώσεων SELECT με βάση μια συγκεκριμένη συνθήκη.

Το παράδειγμα δίνεται παρακάτω:

ΕΠΙΛΕΓΩ ταυτότητα , Όνομα επαφής, Πόλη, Χώρα ΑΠΟ υπάλληλο ΠΟΥ υπάλληλος.id < = 5
ΕΝΩΣΗ
ΕΠΙΛΕΓΩ ταυτότητα , Επαφή Όνομα, Πόλη, Χώρα ΑΠΟ Προμηθευτή WHERE Supplier.id < = 5 ;

Παραγωγή

Η έξοδος δείχνει ότι οι πίνακες ' υπάλληλος ' και ' Προμηθευτής ” έχουν ενταχθεί υπό τις καθορισμένες προϋποθέσεις.

συμπέρασμα

Για να ενώσετε δύο ή περισσότερους πίνακες, το ' ΕΝΩΣΗ ',' ΕΝΩΣΗ ΟΛΩΝ 'και το κόμμα' , Το ' μπορεί να χρησιμοποιηθεί αντί για το ' ΣΥΜΜΕΤΟΧΗ «ρήτρα. Το κόμμα χρησιμοποιείται αντικαθιστώντας το ' ΣΥΜΜΕΤΟΧΗ » λέξη-κλειδί. Ο ' ΕΝΩΣΗ ' και ' ΕΝΩΣΗ ΟΛΩΝ ” μπορεί επίσης να χρησιμοποιηθεί για τη σύνδεση πολλών πινάκων με ή χωρίς διπλότυπα. Σε αυτήν την καταγραφή, παρουσιάζεται ένας λεπτομερής οδηγός για την ένωση των πινάκων χωρίς τη χρήση της ρήτρας JOIN.