RIGHT JOIN e FULL JOIN
Un RIGHT JOIN mantiene ogni riga della tabella di destra. Un FULL JOIN mantiene le righe senza corrispondenza di entrambe le tabelle.
Sintassi
SELECT … FROM a RIGHT JOIN b ON a.key = b.key;SELECT … FROM a FULL JOIN b ON a.key = b.key;
- Dove una riga non ha corrispondenza, le colonne dell'altra tabella sono NULL.
Esempio
SELECT c.last_name, o.order_id FROM customers AS c FULL JOIN orders AS o ON o.customer_id = c.customer_id;
Ogni ordine e ogni cliente; i lati senza corrispondenza mostrano NULL.
Tabelle usate: customers, orders. Provalo in una lezione qui sotto.
Errori comuni
- Una condizione sulla tabella di destra in WHERE elimina le righe con NULL. Mettila in ON.