Utilisez des vues pour simplifier les jointures complexes
L'une des applications les plus courantes des vues consiste à masquer le SQL complexe, qui implique généralement des jointures. Veuillez regarder l'exemple suivant :
Entrée :
create view productcustomers as select cust_name,cust_contact,prod_id from customers,orders,orderitems where customers.cust_id = orders.cust_id and orderitems.order_num = orders.order_num;
Analyse : Cette instruction crée une vue nommée productcustomers, qui joint trois tables pour renvoyer les articles qui ont été commandés A. liste de tous les clients pour n’importe quel produit. Si vous exécutez SELECT * FROM productcustomers, vous listerez les clients qui ont commandé un produit.
Pour récupérer les clients ayant commandé le produit TNT2, procédez comme suit :
Entrée :
select cust_name,cust_contact from productstomers where prod_id = 'TNT2';
Sortie :
Analyse : cette instruction récupère des données spécifiques de la vue via la clause WHERE. Au fur et à mesure que MySQL traite cette requête, il ajoute la clause WHERE spécifiée aux clauses WHERE existantes dans la requête de vue afin que les données soient correctement filtrées.
On peut constater que les vues simplifient grandement l'utilisation d'instructions SQL complexes. Les vues vous permettent d'écrire du SQL de base une fois, puis de l'utiliser autant de fois que nécessaire.
Créer des vues réutilisables C'est une bonne idée de créer des vues qui ne sont pas limitées à des données spécifiques. Par exemple, la vue créée ci-dessus renvoie les clients qui fabriquent tous les produits et pas seulement les clients qui produisent du TNT2. L'extension de la portée d'une vue la rend non seulement réutilisable, mais encore plus utile. Cela élimine le besoin de créer et de gérer plusieurs vues similaires.
Utiliser des vues pour reformater les données récupérées
Comme mentionné ci-dessus, une autre utilisation courante des vues consiste à reformater les données récupérées. L'instruction SELECT suivante renvoie le nom et l'emplacement du fournisseur dans une seule colonne calculée combinée :
Entrée :
select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;
Sortie :
Supposons maintenant que vous ayez fréquemment besoin de résultats dans ce format. Au lieu d'effectuer une jointure à chaque fois que vous en avez besoin, créez une vue et utilisez-la à chaque fois que vous en avez besoin. Pour convertir cette instruction en vue, procédez comme suit :
Entrée :
create view vendorlocation as select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;
Analyse : Cette instruction crée une vue en utilisant la même requête que l'instruction SELECT précédente. Pour récupérer les données permettant de créer toutes les étiquettes de publipostage, procédez comme suit :
Entrée :
select * from vendorlocations;
Sortie :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!