Maison >base de données >tutoriel mysql >Comment puis-je générer des lignes pour les JOIN dans MySQL sans « CONNECT BY » d'Oracle ou des fonctions similaires ?

Comment puis-je générer des lignes pour les JOIN dans MySQL sans « CONNECT BY » d'Oracle ou des fonctions similaires ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-15 10:02:43144parcourir

How Can I Generate Rows for JOINs in MySQL Without Oracle's `CONNECT BY` or Similar Functions?

MySQL JOINs : génération de lignes sans CONNECT BY

d'Oracle

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!

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