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

Pseudo-code :

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

Un tableau de maths

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

Compter les nombres

Définition récursive :

number = 1 for iteration = 1,
number = number +1 for iteration > 1
termination condition: number < 4

Pseudo-code :

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 :

number = 1 for iteration = 1
number = number + iteration^iteration for iteration > 1

Pseudo-code

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...