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

Dati da due tabelle in un'unica vista

Sì, utilizzando UNION -

CREATE VIEW vw_combined AS
   SELECT * FROM TABLE1
   UNION ALL
   SELECT * FROM TABLE2

...richiede che ci sia lo stesso numero di colonne e che i tipi di dati corrispondano in ogni posizione.

..preferibilmente, utilizzando un JOIN:

CREATE VIEW vw_combined AS
   SELECT * 
    FROM TABLE1 t1
    JOIN TABLE2 t2 ON t2.col = t1.col

Ma voglio mettere in guardia contro la dipendenza dalle viste:se non si concretizzano, sono solo istruzioni SQL preparate. Non c'è alcun vantaggio in termini di prestazioni e può avere un impatto negativo sulle prestazioni se crei una vista basata su un'altra. Inoltre, le visualizzazioni sono fragili:possono cambiare e non saprai fino a quando non utilizzi una visualizzazione di supporto in caso di problemi.