Office
Είσοδος

Λειτουργίες LEFT JOIN, RIGHT JOIN

Συνδυάζει εγγραφές του πίνακα προέλευσης όταν χρησιμοποιηθεί σε οποιονδήποτε όρο FROM.

Σύνταξη

FROM πίνακας1 [ LEFT | RIGHT ] JOIN πίνακας2
ON πίνακας1.πεδίο1τελεστής_σύγκρισης πίνακας2.πεδίο2

Οι λειτουργίες LEFT JOIN και RIGHT JOIN έχουν τα εξής τμήματα:

Τμήμα

Περιγραφή

πίνακας1, πίνακας2

Τα ονόματα των πινάκων από τους οποίους γίνεται συνδυασμός των εγγραφών.

πεδίο1, πεδίο2

Τα ονόματα των πεδίων που ενώνονται. Τα πεδία πρέπει να έχουν τον ίδιο τύπος δεδομένων και να περιέχουν το ίδιο είδος δεδομένων, αλλά δεν είναι απαραίτητο να έχουν το ίδιο όνομα.

τελεστής_σύγκρισης

Οποιοσδήποτε σχεσιακός τελεστής σύγκρισης: "=", "<", ">", "<=", ">=" ή "<>".


Παρατηρήσεις

Χρησιμοποιήστε μια λειτουργία LEFT JOIN για να δημιουργηθεί ένας αριστερός εξωτερικός σύνδεσμος. Οι αριστεροί εξωτερικοί σύνδεσμοι περιλαμβάνουν όλες τις εγγραφές από τον πρώτο (αριστερό) πίνακα, ακόμη και αν δεν υπάρχουν αντίστοιχες τιμές για εγγραφές στον δεύτερο (δεξιό) πίνακα.

Χρησιμοποιήστε μια λειτουργία RIGHT JOIN για να δημιουργηθεί ένας δεξιός εξωτερικός σύνδεσμος. Οι δεξιοί εξωτερικοί σύνδεσμοι περιλαμβάνουν όλες τις εγγραφές από τον δεύτερο (δεξιό) πίνακα, ακόμη και αν δεν υπάρχουν αντίστοιχες τιμές για εγγραφές στον πρώτο (αριστερό) πίνακα.

Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη λειτουργία LEFT JOIN με τους πίνακες Departments (αριστερός) και Employees (δεξιός) για να επιλέξετε όλα τα τμήματα, συμπεριλαμβανομένων και αυτών στα οποία δεν έχουν εκχωρηθεί υπάλληλοι. Για να επιλέξετε όλους τους υπαλλήλους, συμπεριλαμβανομένων και αυτών που δεν έχουν εκχωρηθεί σε κάποιο τμήμα, μπορείτε να χρησιμοποιήσετε τη λειτουργία RIGHT JOIN.

Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να ενώσετε τους πίνακες Categories και Products με βάση το πεδίο CategoryID. Το ερώτημα δημιουργεί μια λίστα με όλες τις κατηγορίες, συμπεριλαμβανομένων και αυτών που δεν περιέχουν προϊόντα:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

Σε αυτό το παράδειγμα, το CategoryID είναι το πεδίο σύνδεσης, αλλά δεν περιλαμβάνεται στα αποτελέσματα του ερωτήματος επειδή δεν περιλαμβάνεται στην πρόταση SELECT. Για να συμπεριλάβετε το πεδίο σύνδεσης, πληκτρολογήστε το όνομα του πεδίου στην πρόταση SELECT — σε αυτή την περίπτωση, Categories.CategoryID.

Σημείωση: 

Για να δημιουργήσετε ένα ερώτημα που περιλαμβάνει μόνο τις εγγραφές στις οποίες τα δεδομένα στα πεδία σύνδεσης είναι ίδια, χρησιμοποιήστε μια λειτουργία INNER JOIN.

  • Είναι δυνατή η ένθεση μιας λειτουργίας LEFT JOIN ή RIGHT JOIN μέσα σε μια λειτουργία INNER JOIN, αλλά δεν είναι δυνατή η ένθεση μιας λειτουργίας INNER JOIN μέσα σε μια λειτουργία LEFT JOIN ή RIGHT JOIN. Για να δείτε τον τρόπο ένθεσης συνδέσμων μέσα σε άλλους συνδέσμους, ανατρέξτε στην περιγραφή για την ένθεση στο θέμα για τη λειτουργία INNER JOIN.

  • Μπορείτε να συνδέσετε πολλούς όρους ON. Για να δείτε πώς γίνεται αυτό, ανατρέξτε στην περιγραφή για τη σύνδεση όρων στο θέμα για τη λειτουργία INNER JOIN.

Εάν προσπαθήσετε να συνδέσετε πεδία που περιέχουν δεδομένα υπομνήματος ή αντικειμένων OLE, εμφανίζεται ένα μήνυμα σφάλματος.



Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×