On l’a vu, l’expression Row_Numberpermet d’attribuer un identificateur. Mais elle peut aussi servir pour traiter simplement un sous-ensemble ou un jeu de résultats. Dans l’exemple de la figure 8, l’expression Row_Number est associée à une expression
Une expression très puissante
de table courante(CTE, common table expression) (c’est-à-dire,
Si vous rencontrez une CTE (common table expression) pour la première fois, considérez qu’il s’agit de créer une vue SQL temporaire qui ne sera utilisée que par l’instruction SELECT associée. L’expression numbering table attribue un identificateur à chaque employé, puis l’instruction SELECT spécifie la suite ou l’ensemble des employés à retourner. Les valeurs constantes de cette instruction, 6 et 10, pourraient bien sûr être remplacées par des marqueurs de paramètres ou des variables d’hôtes, afin que l’application puisse utiliser cette instruction pour feuilleter ou saisir un sous-ensemble différent de résultats en utilisant la même requête. Peut-être pensez-vous que cette instruction est exagérément complexe avec les CTE numbering, et que l’expression de table pourrait être abandonnée de manière à produire une version plus dépouillée : SELECT ROW_NUMBER() OVER (ORDER BY workdept, lastname) AS rowno, lastname, salary, workdept FROM emp WHERE rowno BETWEEN 6 AND 10 ORDER BY workdept, lastname
Malheureusement, cela n’est pas permis par le standard SQL parce que
Dans la figure 8, une CTE (c’est-àdire
Téléchargez cette ressource

Percer le brouillard des rançongiciels
Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.