Oracle
 sql >> Base de données >  >> RDS >> Oracle

Données de deux tables dans une seule vue

Oui, en utilisant un UNION -

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

... nécessite qu'il y ait le même nombre de colonnes et que les types de données correspondent à chaque position.

..de préférence, en utilisant un JOIN :

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

Mais je tiens à mettre en garde contre le fait de dépendre des vues - si elles ne sont pas matérialisées, ce ne sont que des instructions SQL préparées. Il n'y a aucun avantage en termes de performances et cela peut avoir un impact négatif sur les performances si vous créez une vue basée sur une autre. De plus, les vues sont fragiles :elles peuvent changer et vous ne saurez pas s'il y a des problèmes avant d'utiliser une vue de support.