Je vais écrire et corriger des requêtes SQL pour votre base de données
Analyste de données pour Excel, SQL et nettoyage de données
À propos de ce service
Envoyez-moi la question en anglais simple. Vous recevrez une requête qui fonctionne, avec des commentaires expliquant chaque étape.
Le SQL dangereux n’est pas la requête qui génère une erreur. C’est celle qui renvoie un nombre.
Une clause WHERE sur un LEFT JOIN le transforme en INNER JOIN. Pas d’erreur, et 1 492 clients ont disparu du rapport.
Une jointure avec une table contenant des clés en double. Le chiffre d’affaires est revenu trois fois trop élevé. Cela ressemblait encore à un chiffre plausible.
Aucun de ces cas ne provoque une erreur. Tous modifient votre résultat. Je vérifie donc le nombre de lignes avant et après chaque jointure, et je vous indique ce que j’ai vérifié.
Ce que j’écris : jointures sur trois tables ou plus, fonctions de fenêtre, CTE qui décomposent une longue requête en étapes lisibles, agrégations correspondant à votre rapport, corrections pour une requête qui retourne un mauvais résultat, et réécritures pour une requête trop lente.
PostgreSQL, MySQL, SQL Server, SQLite et BigQuery.
Dix ans à travailler avec des données qui doivent être exactes. Projets publics sur michaelnocito.github.io.
Type de base de données:
Base de données relationnelle
Plateforme:
BigQuery
•
mySQL
•
PostgreSQL
•
SQL Server
Expertise:
SQL
•
DQL
•
Performance
•
Optimisation des demandes
Mon portfolio
FAQ
Traduction automatique
Avez-vous besoin d’accéder à ma base de données ?
Non, et je préférerais ne pas en avoir. Envoyez vos noms de tables et de colonnes, ou un script CREATE TABLE, ou un petit échantillon exporté. Je rédige en fonction de cela et vous l’exécutez.
Ma requête fonctionne déjà. Pouvez-vous vérifier si elle est correcte ?
Oui, et c’est la commande que je préfère. Envoyez la requête et ce que vous attendez qu’elle retourne.
Et si je ne connais pas le nom de mes tables ?
Envoyez une capture d’écran de votre schéma, ou exportez les dix premières lignes de chaque table. C’est suffisant pour commencer à travailler.
Pouvez-vous accélérer une requête lente ?
Souvent. Envoyez la requête, et si possible le résultat de l’EXPLAIN. Je vous dirai honnêtement si la solution consiste en un index plutôt qu’en une réécriture.

