Maison >base de données >tutoriel mysql >MySQL prend-il en charge la clause WITH, et si oui, depuis quand ?
Explication détaillée de la clause MySQL WITH
La clause WITH de MySQL vous permet de définir un ensemble de résultats temporaires nommés dans une requête. Alors que d'autres systèmes de gestion de bases de données relationnelles (SGBDR) tels qu'Oracle et Microsoft SQL Server prennent en charge cette fonctionnalité, MySQL ne l'a jamais fait.
Un utilisateur a récemment rencontré cette limitation en essayant de créer une vue à l'aide de la clause WITH :
<code class="language-sql">WITH authorRating(aname, rating) AS SELECT aname, AVG(quantity) FROM book GROUP BY aname</code>
Mise à jour MySQL 8.0
Les clauses With n'étaient pas prises en charge dans les versions MySQL antérieures à 8.0, mais MySQL 8.0 a finalement introduit les expressions de table communes (CTE), y compris les CTE récursives. Cette fonctionnalité est un ajout bienvenu qui aligne MySQL sur les autres SGBDR.
Versions MySQL antérieures à 8.0
Avant MySQL 8.0, il n'existait aucun moyen direct d'utiliser la clause WITH dans MySQL. Cette fonctionnalité existe en tant que fonctionnalité demandée depuis 2006.
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!