Pour créer une vue, vous devez utiliser la syntaxe suivante :
CREATE VIEW nom_vue AS SELECT...;
Suggestion : afin de différencier d'un coup d'oeil les vues des tables, vous pouvez leur donner un nom commençant par vue_.
Ex :
CREATE VIEW vue_mecaniciensfactures AS
SELECT mecaniciens.id AS mecanicien_id, mecaniciens.prenom, mecaniciens.nomfamille, mecaniciens.embauche,
factures.id AS facture_id, date, lignesfactures.prix, operations.description, lignesfactures.description AS infosupplementaire
FROM factures
INNER JOIN lignesfactures ON facture_id = factures.id
INNER JOIN mecaniciens ON mecanicien_id = mecaniciens.id
INNER JOIN operations ON operation_id = operations.id;
Si une vue est créée avec une erreur dans sa requête SELECT, il est possible de se reprendre mais cela nécessite quelques étapes. C'est pour cette raison qu'il est préférable de :
Il est possible d'ajouter une clause ORDER BY dans la requête définissant la vue afin que la vue affiche toujours les enregistrement dans un ordre donné. Cependant, une telle clause peut ralentir l'exécution de la requête et peut également causer des problèmes dans certains cas très précis.
C'est pourquoi il n'est pas recommandé d'utiliser une clause ORDER BY dans la définition de la vue.
Ex :
CREATE VIEW vue_mecaniciensfactures AS
SELECT ...
;
On pourra sans problème utiliser une clause ORDER BY dans une requête qui utilise la vue.
Ex :
SELECT ... FROM vue_mecaniciensfactures
WHERE ...
ORDER BY date;
« 13.1.17 CREATE VIEW Syntax ». MySQL. https://dev.mysql.com/doc/refman/5.7/en/create-view.html
▼Publicité