Γρήγορη αναφορά

Οδηγός SQL Joins (Cheat Sheet)

Γρήγορος οδηγός αναφοράς για συνδέσεις πινάκων SQL: INNER JOIN, LEFT JOIN, RIGHT JOIN και FULL OUTER JOIN με σύνταξη και λογική Venn.

· Δημοσιεύτηκε

Παράδειγμα σύνταξης

SELECT order_items.id, orders.order_date, order_items.price
FROM order_items
LEFT OUTER JOIN orders
  ON order_items.order_id = orders.id;

Τα Joins συνδυάζουν γραμμές από δύο ή περισσότερους πίνακες με βάση μια σχετιζόμενη στήλη μεταξύ τους.

Οπτικοποίηση των Joins

SELECT * FROM `A` INNER JOIN `B`
┌────────┐
│ A  ┌───┼────┐
│    │ ∩ │    │
└────┼───┘  B │
     └────────┘
Τύπος Join Συμπεριλαμβανόμενα δεδομένα Περιγραφή
INNER JOIN ∩ Επιστρέφει εγγραφές με αντίστοιχες τιμές και στους δύο πίνακες
LEFT OUTER JOIN A + ∩ Επιστρέφει όλες τις εγγραφές από τον πίνακα A και τις αντίστοιχες από τον B
RIGHT OUTER JOIN ∩ + B Επιστρέφει όλες τις εγγραφές από τον πίνακα B και τις αντίστοιχες από τον A
FULL OUTER JOIN A + ∩ + B Επιστρέφει όλες τις εγγραφές όταν υπάρχει ταύτιση σε έναν από τους δύο πίνακες

Παραλλαγές Join και φίλτρα

Left Join εξαιρώντας την τομή

SELECT * FROM A
LEFT JOIN B ON A.key = B.key
WHERE B.key IS NULL;

Right Join εξαιρώντας την τομή

SELECT * FROM A
RIGHT JOIN B ON A.key = B.key
WHERE A.key IS NULL;

Full Outer Join εξαιρώντας την τομή

SELECT * FROM A
FULL OUTER JOIN B ON A.key = B.key
WHERE A.key IS NULL OR B.key IS NULL;

Σχετικά θέματα