Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά ανάμεσα στην εσωτερική σύνδεση και την εξωτερική σύνδεση στην SQL

Εσωτερική συμμετοχή και εξωτερική συμμετοχή είναι και οι δύο τύποι συμμετοχής. Η Join συγκρίνει και συνδυάζει πλειάδες από δύο σχέσεις ή πίνακες. Το Inner Join καθορίζει τη φυσική ένωση, δηλ. Εάν γράψετε μια ρήτρα σύνδεσης χωρίς εσωτερική λέξη-κλειδί τότε εκτελεί τη λειτουργία φυσικής σύνδεσης. Η διαφορά δυναμικού μεταξύ Inner Join και Outer Join είναι ότι το Inner Join επιστρέφει μόνο τις αντίστοιχες πλειάδες από το τραπέζι και η Outer Join επιστρέφει όλες τις πλειάδες και από τους δύο συγκριτικούς πίνακες. Ας συζητήσουμε κάποιες άλλες διαφορές μεταξύ Inner Join και Outer Join με τη βοήθεια του πίνακα σύγκρισης που φαίνεται παρακάτω.

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΕσωτερική σύνδεσηΕξωτερική Συμμετοχή
ΒασικόςΤο Inner Join εξάγει μόνο τις αντίστοιχες πλειάδες από τον πίνακα.Η εξωτερική σύνδεση εμφανίζει όλες τις πλειάδες και από τους δύο πίνακες.
Βάση δεδομένωνΤο δυνητικό μέγεθος της βάσης δεδομένων που επιστρέφεται από το Inner Join είναι συγκριτικά μικρότερο από το Outer Join.Εξωτερική σύνδεση επιστροφή συγκριτικά μεγαλύτερη βάση δεδομένων.
ΤύποιΔεν υπάρχουν τύποι.Αριστερά Εξωτερική Συμμετοχή,
Δεξιά εξωτερική σύνδεση,
και Πλήρης Εξωτερική Συμμετοχή.

Ορισμός εσωτερικής ένταξης

Το Inner Join αναφέρεται επίσης ως Natural Join. Το Inner Join συγκρίνει δύο πίνακες και συνδυάζει την αντίστοιχη πλειάδα και στους δύο πίνακες. Καλείται επίσης ως προεπιλεγμένος τύπος σύνδεσης, καθώς η ρήτρα εγγραφής γράφεται χωρίς την εσωτερική λέξη-κλειδί που εκτελεί τη φυσική σύνδεση. Εάν η ρήτρα Συμμετοχής είναι γραμμένη χωρίς εξωτερική λέξη-κλειδί, τότε πραγματοποιείται και εσωτερική σύνδεση.

Το Inner Join μπορεί να εξηγηθεί με ένα παράδειγμα. Υπάρχουν δύο τραπέζια μαθητών πίνακα και πίνακα πίνακα. Τώρα μας επιτρέπει να καταλάβουμε τι εκτελεί η εσωτερική Join.

SELECT Όνομα, Sem, Deparment_name FROM Τμήμα σπουδών INNER JOIN Τμήμα ON Student.Department_ID = Department.ID.

Μπορείτε να δείτε ότι μόνο οι πλειάδες αποκτώνται στο αποτέλεσμα όπου Student.Department_ID = Department.ID. Ως εκ τούτου, μπορούμε να πούμε ότι το Inner Join συνδυάζει μόνο την αντίστοιχη πλειάδα των δύο τραπεζιών.

Ορισμός εξωτερικής σύνδεσης

Σε αντίθεση με το Inner Join, μόνο αυτές οι πλειάδες είναι εξόδους που έχουν ίδιες τιμές χαρακτηριστικών και στον πίνακα σύγκρισης. Η εξωτερική σύνδεση εξάγει όλες τις πλειάδες και του τραπεζιού. Η εξωτερική σύνδεση είναι τριών τύπων αριστερά εξωτερική ένωση, δεξιά εξωτερική ένωση και πλήρης εξωτερική σύνδεση .

Ας τους καταλάβουμε ένα προς ένα. Πρώτον, ας πάρουμε την Αριστερά Εξωτερική Συμμετοχή.

Επιλέξτε Όνομα, Τμήμα_Σύνταξης Από το Τμήμα Φοιτητικής Αριστεράς Εξωτερικής Συμμετοχής ON Student.Department_ID = Depoartment.ID.

Μπορείτε να δείτε ότι όλες οι πλειάδες από το Student Table εμφανίζονται στο αποτέλεσμα.

Επιλέξτε Όνομα, Τμήμα_Ανάπτυξης Από Τμήμα Δεξιά Εξωτερική Συμμετοχή Σπουδαστής ΣΕ Φοιτητικό_Εισαγωγός_ID = Depoartment.ID.

Μπορείτε να δείτε ότι εμφανίζονται όλες οι πλειάδες από το τραπέζι του Τμήματος.

Επιλέξτε Όνομα, Department_name Από Τμήμα Φοιτητών Πλήρης Εξωτερική Εγγραφή ON Student.Department_ID = Depoartment.ID.

Μπορείτε να παρατηρήσετε ότι όλες οι πλειάδες από τα δύο τραπέζια εμφανίζονται στο αποτέλεσμα.

Βασικές διαφορές ανάμεσα στην εσωτερική σύνδεση και την εξωτερική σύνδεση

  1. Η βασική διαφορά μεταξύ του Inner Join και του Outer Join είναι ότι η εσωτερική ένωση συγκρίνει και συνδυάζει μόνο τις ταιριάζουσες πλειάδες από τα bothe στα τραπέζια. Από τα άλλα χέρια, το Outer Join συγκρίνει και συνδυάζει όλες τις πλειάδες από τους δύο πίνακες που συγκρίνονται.
  2. Το μέγεθος της βάσης δεδομένων του προκύπτοντος από το Inner Join είναι μικρότερο από το εξωτερικό.
  3. Υπάρχουν τρεις τύποι εξωτερικής σύνδεσης αριστερά εξωτερική ένωση, εξωτερική ένωση εγγραφής και πλήρης εξωτερική ένωση. Αλλά η εσωτερική Join δεν έχει τέτοιους τύπους.

Συμπέρασμα:

Και οι δύο συνδέσεις είναι πολύ χρήσιμες. Η χρήση τους εξαρτάται από την απαίτηση του χρήστη.

Top