Maison > Article > base de données > MySQL a-t-il une instruction with as ?
Il n'y a pas d'instruction « with as » dans les versions de mysql5.7 et inférieures, mais il existe une instruction « with as » dans les versions de mysql8.0 et supérieures. mysql5.7 ne prend pas en charge cette instruction, mais cela peut l'être ; implémenté en créant une table temporaire Avec le même effet, cette instruction est prise en charge pour les sous-requêtes après mysql8.0.
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
Est-ce que mysql a une instruction with as
WITH AS partie sous-requête [non prise en charge par mysql5.7 et versions antérieures, prise en charge par mysql8.0 et sqlserver]
L'avantage de la partie sous-requête est qu'il s'agit d'une requête partielle. Il est préférable d'avoir trois tables. La connexion apparaît plusieurs fois dans une seule instruction.
Syntaxe de plusieurs parties de requête
with a as (select * from Student a inner join Course b ON a.Id=b.StudentId )select * from a
Si plusieurs sous-requêtes dans une requête doivent utiliser les résultats de la même sous-requête, vous pouvez utiliser with as pour extraire la sous-requête partagée et ajouter un alias. Les instructions de requête suivantes peuvent être utilisées directement, ce qui joue un très bon rôle dans l'optimisation d'un grand nombre d'instructions SQL complexes.
Remarque :
équivaut à une table temporaire, mais contrairement à une vue, elle ne sera pas stockée et doit être utilisée conjointement avec select.
Il peut y avoir plusieurs tables temporaires avant la même sélection. Écrivez simplement un with et séparez-les par des virgules. N'utilisez pas de virgules dans la dernière instruction with.
La clause With doit être placée entre parenthèses.
Pour résumer l'utilisation de with, cela revient à générer une table temporaire.
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!