Maison >base de données >tutoriel mysql >MySQL prend-il en charge la clause WITH, et si oui, depuis quand ?

MySQL prend-il en charge la clause WITH, et si oui, depuis quand ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-12 13:42:42956parcourir

Does MySQL Support the WITH Clause, and If So, Since When?

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!

Déclaration:
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