Résoudre des problèmes mathématiques récursifs

Requêtes hiérarchiques et récursives dans SQL Server

Jasmin Ludolf

Content Developer

Les deux problèmes de maths

  1. Compter des nombres de façon récursive
  2. Calculer la somme des puissances

Composants

  • Étape d'initialisation
  • Étape récursive

Pseudocode :

  • Description informelle et générale du principe de fonctionnement
  • Destiné à la lecture humaine plutôt qu'à la machine

Un tableau noir de mathématiques

Requêtes hiérarchiques et récursives dans SQL Server

Compter les nombres

Définition récursive :

nombre = 1 pour itération = 1,
nombre = nombre + 1 pour itération > 1
condition d'arrêt : nombre < 4

Pseudocode :

WITH recursion AS ( 
    SELECT
          -- Initial query
       number = 1
    UNION ALL 
    SELECT
        -- Recursive query
       number = number + 1
    FROM numbers 
    -- Termination condition
    WHERE number < 4)
-- Statement on CTE 
SELECT * FROM recursion;
-- Final iteration
1+1+1+1 = 4
Requêtes hiérarchiques et récursives dans SQL Server

La somme des puissances

Définition récursive :

nombre = 1 pour itération = 1
nombre = nombre + itération^itération pour itération > 1

Pseudocode

WITH recursion AS (
      number = 1 -- Initial query
      UNION ALL
    number = number + iteration^iteration -- Recursive query
    WHERE termination_condition)
SELECT * FROM recursion;
-- Three iterations
1 + 2^2 + 3^3 = 32
Requêtes hiérarchiques et récursives dans SQL Server

Passons à la pratique !

Requêtes hiérarchiques et récursives dans SQL Server

Preparing Video For Download...