🧚 Écoute ! Beekeeper Studio est une interface de base de données rapide, moderne et open source Télécharger
6 juillet 2024 Par Matthew Rathbone

Limiter les lignes dans Teradata avec le mot-clé TOP

Le mot-clé TOP est la façon la plus simple de limiter les lignes dans Teradata. Il indique le nombre exact de lignes à renvoyer.

Syntaxe:

SELECT TOP n column1, column2, ...
FROM table_name;

Exemple:

Imaginons que tu as un tableau appelé employees et que tu veux récupérer les 10 premières lignes.

SELECT TOP 10 employee_id, first_name, last_name
FROM employees;

Résultat attendu :

 employee_id | first_name | last_name
-------------|------------|-----------
 1           | John       | Doe
 2           | Jane       | Smith
 ...         | ...        | ...
 10          | Alice      | Brown

Utiliser le mot-clé SAMPLE

Une autre façon de limiter les lignes dans Teradata passe par le mot-clé SAMPLE. C’est particulièrement utile quand tu as besoin d’un échantillon aléatoire plutôt que des premières lignes.

Syntaxe:

SELECT column1, column2, ...
FROM table_name
SAMPLE n;

Exemple:

Pour récupérer un échantillon aléatoire de 5 lignes du tableau employees :

SELECT employee_id, first_name, last_name
FROM employees
SAMPLE 5;

Résultat attendu :

 employee_id | first_name | last_name
-------------|------------|-----------
 7           | Emma       | Johnson
 3           | Robert     | Lee
 ...         | ...        | ...
 12          | Olivia     | Davis

Utiliser SAMPLE avec un pourcentage

La clause SAMPLE permet aussi de limiter les lignes selon un pourcentage.

Syntaxe:

SELECT column1, column2, ...
FROM table_name
SAMPLE n PERCENT;

Exemple:

Récupère un échantillon de 10 % des lignes du tableau employees :

SELECT employee_id, first_name, last_name
FROM employees
SAMPLE 10 PERCENT;

Résultat attendu:

 employee_id | first_name | last_name
-------------|------------|-----------
 2           | Jane       | Smith
 9           | Mark       | Wilson
 ...         | ...        | ...
 22          | Lucas      | Adams

Utiliser QUALIFY avec ROW_NUMBER()

Pour des scénarios plus complexes, tu peux utiliser la clause QUALIFY avec ROW_NUMBER(). Cette méthode te permet d’appliquer des filtres et des conditions supplémentaires.

Syntaxe:

SELECT column1, column2, ...
FROM table_name
QUALIFY ROW_NUMBER() OVER (PARTITION BY partition_column ORDER BY sort_column) <= n;

Exemple:

Récupère les 5 employés les mieux payés de chaque service :

SELECT department_id, employee_id, salary
FROM employees
QUALIFY ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) <= 5;

Résultat attendu :

 department_id | employee_id | salary
---------------|-------------|--------
 1             | 101         | 120000
 1             | 102         | 115000
 ...           | ...         | ...
 2             | 201         | 95000
 ...           | ...         | ...

Conclusion

Il existe plusieurs méthodes pour limiter les lignes dans Teradata, chacune adaptée à un scénario différent. Le mot-clé TOP est simple pour des limites basiques, tandis que SAMPLE apporte de l’aléatoire et un échantillonnage par pourcentage. Pour des besoins plus complexes, ROW_NUMBER() avec QUALIFY offre une limitation puissante basée sur des conditions précises. Maîtriser ces techniques t’aidera à gérer de grands jeux de données plus efficacement dans Teradata.

D’autres articles qui pourraient te plaire :

Beekeeper Studio est une interface de base de données gratuite & open source

Le meilleur outil de requêtes & éditeur SQL que j’aie jamais utilisé. Il m’offre tout ce dont j’ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge plein de bases de données et fonctionne parfaitement sous Windows, Mac et Linux.

La version Linux de Beekeeper est 100% complète : rien de bâclé, aucun compromis sur les fonctionnalités.

Ce que les utilisateurs disent de Beekeeper Studio

★★★★★
« Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C’est rapide, intuitif, et ça rend le travail sur les bases de données à nouveau agréable. »
— Alex K., développeur de bases de données
★★★★★
« J’ai essayé beaucoup d’interfaces de bases de données, mais Beekeeper trouve l’équilibre parfait entre fonctionnalités et simplicité. Ça marche, tout simplement. »
— Sarah M., ingénieure full stack