Junior
Τι είναι η αριστερή σύνδεση (left join) σε SQL;
sobes.tech AI
Απάντηση από AI
Η αριστερή σύνδεση (LEFT JOIN ή LEFT OUTER JOIN) σε SQL επιστρέφει όλες τις γραμμές από τον "αριστερό" πίνακα και τις αντίστοιχες γραμμές από τον "δεξιό" πίνακα. Αν δεν βρεθεί αντιστοιχία στον δεξιό πίνακα, οι τιμές των στηλών του δεξιού πίνακα θα είναι NULL.
-
Σύνταξη:
SELECT λίστα_στηλών FROM πίνακας1 -- Αριστερός πίνακας LEFT JOIN πίνακας2 ON πίνακας1.στήλη = πίνακας2.στήλη; -
Αποτέλεσμα:
- Όλες οι γραμμές από τον
πίνακας1. - Οι αντίστοιχες γραμμές από τον
πίνακας2. - Για γραμμές από τον
πίνακα1χωρίς αντιστοιχία στονπίνακα2, οι στήλες τουπίνακα2θα περιέχουνNULL.
- Όλες οι γραμμές από τον
-
Παράδειγμα:
Ας υποθέσουμε ότι έχουμε δύο πίνακες:
OrdersκαιCustomers. Θέλουμε να πάρουμε μια λίστα με όλες τις παραγγελίες και τις πληροφορίες των πελατών που τις έκαναν. Αν μια παραγγελία δεν έχει πελάτη (π.χ. διαγράφηκε), θέλουμε να βλέπουμε και αυτή.-- Πίνακας Orders -- OrderID | CustomerID | OrderDate -- 1 | 101 | 2023-10-26 -- 2 | 102 | 2023-10-26 -- 3 | NULL | 2023-10-27 -- Πίνακας Customers -- CustomerID | CustomerName -- 101 | Alice -- 102 | Bob SELECT O.OrderID, C.CustomerName FROM Orders AS O LEFT JOIN Customers AS C ON O.CustomerID = C.CustomerID;OrderID CustomerName 1 Alice 2 Bob 3 NULL