Maison > base de données > tutoriel mysql > A quoi sert with comme dans MySQL

A quoi sert with comme dans MySQL

WBOY
Libérer: 2022-01-05 10:31:14
original
21592 Les gens l'ont consulté

Dans MySQL, "with as" est également appelé une sous-requête, qui est utilisée pour définir un fragment SQL, et le fragment sera utilisé à plusieurs reprises par l'ensemble de l'instruction SQL. Ce fragment SQL est équivalent à une table temporaire publique, et la syntaxe est "avec tmp as (instruction de requête)".

A quoi sert with comme dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.

Quelle est l'utilisation de with as dans MySQL ?

WITH AS, également appelée factorisation de sous-requête, peut définir un fragment SQL qui sera utilisé par l'intégralité de l'instruction SQL. Il peut rendre l'instruction SQL plus lisible ou être utilisé comme partie fournissant des données dans différentes parties d'UNION ALL.

Pour UNION ALL, utilisez WITH AS pour définir une instruction UNION ALL Lorsque le fragment est appelé plus de 2 fois, l'optimiseur placera automatiquement les données obtenues par la phrase WITH AS dans une table Temp. L'invite "meterize" force les données de la phrase WITH AS à être placées dans une table temporaire globale. De nombreuses requêtes peuvent être accélérées de cette façon.

Étant donné que la sous-requête with as n'est exécutée qu'une seule fois et que les résultats sont stockés dans la table temporaire de l'utilisateur pour améliorer les performances des requêtes, elle convient aux scénarios avec plusieurs références, tels que les statistiques de rapports complexes, les requêtes de pagination et la nécessité d'obtenir une somme, count, les résultats tels que avg sont utilisés comme conditions de filtrage pour effectuer un traitement secondaire sur les résultats de la requête !

Particulièrement utile pour tous les syndicats. Parce que chaque partie de l'union peut être la même, mais si chaque partie est exécutée une fois, le coût est trop élevé

Syntaxe commune

– pour un alias

with tmp as (select * from tb_name)
Copier après la connexion

– pour plusieurs alias

with
tmp as (select * from tb_name),
tmp2 as (select * from tb_name2),
tmp3 as (select * from tb_name3),
…
Copier après la connexion

– équivalent à la construction Créer un e table temporaire

with e as (select * from scott.emp e where e.empno=7499)
select * from e;
Copier après la connexion

– équivaut à construire une table temporaire e et d

with
e as (select * from scott.emp),
d as (select * from scott.dept)
select * from e, d where e.deptno = d.deptno;
Copier après la connexion

En fait, cela signifie mettre de nombreuses instructions SQL utilisées à plusieurs reprises avec as, donner un alias, et vous pouvez l'utiliser dans les requêtes ultérieures. , qui joue un rôle d'optimisation dans les grands lots d'instructions SQL et est clair.

Apprentissage recommandé : Tutoriel vidéo mysql

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal