Oracle
 sql >> Database >  >> RDS >> Oracle

Aiuto per l'unione esterna in Oracle

Trovo molto più semplice utilizzare i join ANSI se è coinvolta più di una tabella durante l'esecuzione di join esterni:

SELECT title, order#, STATE
FROM customers c 
   JOIN orderitems O ON o.customer_id = c.id
   LEFT JOIN books b ON b.isbn = o.isbn
ORDER BY title

(questa è essenzialmente la stessa query postata da Arjan, solo con sintassi standard)

A seconda delle tue esigenze potresti voler utilizzare un LEFT JOIN anche per gli articoli dell'ordine, ad es. se desideri anche clienti che non hanno articoli ordinati

È inoltre buona norma utilizzare l'alias della tabella anche per le colonne nell'elenco di selezione. In questo modo l'istruzione è più facile da capire (perché sai immediatamente da quale tabella proviene quale colonna) ed è più stabile rispetto alle modifiche.