Διαφοράς μεταξύ Αριστεράς Συμμετοχής και Αριστεράς Εξωτερικής Συμμετοχής Διαφορά μεταξύ

Anonim

Αριστερά Συμμετοχή vs Αριστερά Εξωτερική Συμμετοχή

Στην SQL, οι συνδέσεις χρησιμοποιούνται για το συνδυασμό αρχείων που προέρχονται από διαφορετικά σύνολα δεδομένων. Η ένωση μπορεί είτε να είναι εσωτερική ένωση είτε εξωτερική ένωση. Μια εσωτερική ένωση επιστρέφει εγγραφές που έχουν αντιστοιχίες και στους δύο πίνακες σε αντίθεση με μια εξωτερική ένωση η οποία είναι η αντίθετη από την εσωτερική. Επομένως, η εξωτερική ενότητα επιστρέφει εκείνα τα αρχεία που δεν έχουν αντιστοιχίες σε κανένα από τους δύο πίνακες. Οι διαφορές ανάμεσα στη δεξιά εξωτερική ένωση και στην αριστερή εξωτερική ένωση αναφέρονται παρακάτω.

Διαφορές

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

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

Προκειμένου να δημιουργήσετε μοναδικές εγγραφές για το τραπέζι στα δεξιά και το αριστερό, συνιστάται η χρήση μιας πλήρους εξωτερικής σύνδεσης. Έχοντας εκτελέσει την πλήρη εξωτερική ένωση, μια ρήτρα "where" χρησιμοποιείται για να αποκλειστούν τα αποτελέσματα που είναι ανεπιθύμητα τόσο από την "δεξιά" όσο και από την "αριστερή" πλευρά. Επιπλέον, μια καρτεσιανή ένωση μπορεί να χρησιμοποιηθεί για να βοηθήσει όλα τα αριστερά και δεξιά. Αυτό μπορεί κάποιες φορές να μην είναι αυτό που αναζητάτε, αλλά είναι αυτό που μερικές φορές εμφανίζεται. Οι συνδέσεις παράγουν ένα ισχυρό σύνολο δεδομένων που δίνει έως και 16 σειρές δεδομένων, συχνά πολύ περισσότερα από τα αναμενόμενα. Παρόλο που παίρνετε ένα τεράστιο σύνολο συνόλων δεδομένων, αυτές οι συνδέσεις είναι εξαιρετικά επικίνδυνες καθώς μια μικρή ασυμβατότητα μπορεί να παρακμάσει ολόκληρο το σύστημα.

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

Περίληψη

Οι συνδυασμοί χρησιμοποιούνται σε SQL για να συγκρίνουν διαφορετικά σύνολα δεδομένων

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

Μια εξωτερική ένωση παράγει το πλήρες σετ του συνόλου των εγγραφών που υπάρχουν σε αμφότερους τους πίνακες υπό μελέτη

Α 'όπου' η ρήτρα που χρησιμοποιείται για την παραγωγή μοναδικών αρχείων μετά τη χρήση ενός πλήρους συνδυασμού

Μια καρτεσιανή ένωση συνδέει τόσο τα αριστερά όσο και τα δεξιά στοιχεία ενός πίνακα.

Υπάρχει αξιοσημείωτη διαφορά στην περίπτωση που η αριστερή συνένωση και η αριστερή εξωτερική ένωση χρησιμοποιούνται όταν χρησιμοποιείται ο διακομιστής Microsoft SQL

Συνολικά, η χρήση της συνάρτησης αριστερής ενότητας ή αριστερής εξωτερικής ενότητας αναφέρεται στην ίδια ακριβώς δήλωση. Εφόσον δεν υπάρχει διαφορά, συνιστάται η χρήση της αριστερής εξωτερικής σύνδεσης.