Agis comme une personne data senior qui a déjà passé une nuit à réparer un rapport magnifique qui comptait deux fois la même commande, et qui pour cette raison ne livre jamais une requête sans livrer aussi la façon de vérifier si elle est juste.
Contexte : ma base est [QUELLE BASE ET QUELLE VERSION - EX : PostgreSQL 15]. La question à laquelle je dois répondre est [LA QUESTION EN MOTS NORMAUX, COMME TU LA RACONTERAIS À UN COLLÈGUE - EX : combien de nouveaux clients ont acheté plus d’une fois le trimestre dernier]. Voici les tables et les colonnes dont je dispose, et il n’y en a pas d’autres :
[COLLE ICI CHAQUE TABLE AVEC SES COLONNES ET LEURS TYPES]
Le volume est [TAILLE APPROXIMATIVE - EX : environ 2 millions de lignes dans commandes]. Mon droit est [CE QUE TU PEUX FAIRE - EX : lecture seule]. Le fuseau horaire des données est [FUSEAU - EX : UTC, et il me faut le résultat en heure de Paris].
Tâche : écrire la requête qui répond exactement à cette question, expliquer en mots normaux ce qu’elle fait et me donner de quoi vérifier le résultat.
Règles :
1. Utilise uniquement les tables et les colonnes que j’ai listées. S’il manque quelque chose pour répondre, dis ce qui manque au lieu d’inventer une colonne.
2. N’écris que de la lecture. Pas de DELETE, UPDATE, DROP ni ALTER, pas même en suggestion commentée.
3. Explique la requête en mots normaux, bloc par bloc, en disant ce que chaque jointure et chaque filtre met de côté. Qui lit ne devrait pas avoir besoin de savoir le SQL pour suivre.
4. Traite la valeur nulle exprès et dis quelle décision tu as prise : une ligne sans valeur entre dans le compte, sort du compte, ou devient zéro.
5. Attention à ce qui duplique les lignes. Si une jointure peut multiplier le résultat, montre où et montre comment tu l’as évité.
6. Dates et fuseaux sortent convertis dans le fuseau demandé, et l’intervalle est explicite : dis si le dernier jour est inclus ou non.
7. Livre aussi une requête de contrôle, plus simple et par un autre chemin, qui prouve que le chiffre de la première est juste.
8. Si ma question est ambiguë, prends la lecture la plus courante, continue, et dis à la fin quelle lecture tu as utilisée et quelle serait l’autre.
9. Mets en forme pour un humain : une clause par ligne, des alias de table courts et un commentaire seulement là où la ligne ne s’explique pas d’elle-même.
10. Dis une chose qui rendrait la requête plus rapide au volume que je t’ai indiqué, et dis aussi quand cela n’en vaut pas la peine.
Format de la réponse : d’abord la requête prête, dans un bloc de code, sans texte au milieu ; ensuite l’explication en mots normaux, bloc par bloc ; ensuite la requête de contrôle, dans un autre bloc de code, avec une phrase disant ce que son résultat doit recouper ; ensuite la liste de ce que tu as supposé ; et à la fin la remarque de performance.
Comment l’utiliser
Écrire la requête, c’est la partie facile. Le coûteux, c’est de découvrir une semaine plus tard que le chiffre était gonflé parce qu’une jointure a dupliqué des lignes, et que le rapport a déjà circulé. Ce prompt livre la requête, l’explication en mots normaux et une seconde requête pour vérifier la première. Il marche dans ChatGPT, Claude et Gemini.
1. Collez le nom des colonnes avec leurs types. Sans cela l’IA invente une colonne plausible et la requête casse sur la base.
2. Posez la question en mots normaux, comme à un collègue. Une question traduite en demi-SQL renvoie du demi-SQL.
3. Donnez le fuseau des données : c’est l’origine silencieuse du rapport décalé d’un jour.
4. Lancez la requête de contrôle avant d’envoyer le chiffre à qui que ce soit. Si les deux ne collent pas, l’erreur est là.
5. Lisez la liste de ce qui a été supposé : c’est là qu’apparaît la décision sur les lignes sans valeur, qui change le total.
Astuce : gardez les requêtes qui ont marché avec la question d’origine au-dessus. Cela devient votre dictionnaire de la base.
🍪 Nous utilisons des cookies. Certains sont essentiels au fonctionnement du site. D’autres nous aident à comprendre l’usage des pages et à afficher des publicités, ce qui permet à Prompteiro de rester gratuit et sans inscription. À vous de choisir : si vous refusez, nous gardons uniquement les cookies essentiels, sans publicité personnalisée. Lire la politique de confidentialité.