MySQL JOINs : génération de lignes sans CONNECT BY
Contrairement à la clause CONNECT BY LEVEL
pratique d'Oracle pour générer des ensembles de lignes dans les jointures, MySQL n'a pas d'équivalent direct. L'approche d'Oracle simplifie la création de séquences pour les jointures :
<code class="language-sql">SELECT * FROM dual CONNECT BY LEVEL < p></code>
De même, MS SQL Server utilise la récursion :
<code class="language-sql">WITH hier(row) AS ( SELECT 1 UNION ALL SELECT row + 1 FROM hier WHERE row < p></code>
PostgreSQL propose generate_series
:
<code class="language-sql">SELECT * FROM generate_series(1, n)</code>
Cependant, MySQL nécessite des stratégies alternatives pour générer les lignes nécessaires aux opérations JOIN. Celles-ci impliquent souvent des solutions de contournement ou des outils externes en raison de l'absence d'un générateur de lignes intégré.
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!