Bases des requêtes

Ce guide vous apprendra les fondamentaux de l'écriture, de l'exécution et de la gestion des requêtes SQL en utilisant l'éditeur de requêtes puissant de HarborDB.

Guides
Dernière mise à jour: 16 février 2026

Bienvenue dans le monde des requêtes SQL avec HarborDB ! Ce guide vous apprendra les fondamentaux de l'écriture, de l'exécution et de la gestion des requêtes SQL en utilisant l'éditeur de requêtes puissant de HarborDB.

Introduction à SQL dans HarborDB

L'éditeur de requêtes de HarborDB est conçu pour rendre l'écriture et l'exécution des requêtes SQL intuitives et efficaces. Que vous récupériez des données, mettiez à jour des enregistrements ou créiez des objets de base de données, HarborDB fournit un flux de travail rationalisé avec des fonctionnalités comme la coloration syntaxique, l'auto-complétion et les résultats en temps réel.

Caractéristiques clés de l'éditeur de requêtes

  • Coloration syntaxique : Les mots-clés SQL, les fonctions et les littéraux sont colorés pour une meilleure lisibilité
  • Auto-complétion : Les noms de tables, de colonnes et les mots-clés SQL sont suggérés au fur et à mesure que vous tapez
  • Onglets multiples : Travaillez avec plusieurs requêtes simultanément dans des onglets séparés
  • Volet des résultats : Visualisez les résultats des requêtes immédiatement sous votre éditeur
  • Options d'exportation : Exportez les résultats vers CSV ou JSON en un clic
  • Historique des requêtes : Accédez aux requêtes récemment exécutées
  • Signets : Enregistrez les requêtes fréquemment utilisées pour un accès rapide

Écrire votre première requête

Instruction SELECT de base

La requête SQL la plus fondamentale récupère des données d'une table :

SELECT * FROM users;

Cette requête :

  • SELECT * : Retourne toutes les colonnes de la table
  • FROM users : Spécifie la table à interroger
  • ; : Termine l'instruction (optionnel dans HarborDB)

Sélection de colonnes spécifiques

Pour récupérer uniquement des colonnes spécifiques :

SELECT first_name, last_name, email FROM users;

Limitation des résultats

Lorsque vous travaillez avec de grandes tables, il est recommandé de limiter les résultats :

SELECT * FROM orders LIMIT 10;

L'interface de l'éditeur de requêtes

Composants principaux

  1. Zone d'édition : Écrivez vos requêtes SQL ici
  2. Barre d'outils : Contrôles d'exécution, d'annulation, de formatage et d'exportation
  3. Volet des résultats : Affiche les résultats des requêtes et les informations d'exécution
  4. Barre d'état : Montre les informations de connexion, le nombre de lignes et le temps d'exécution

Raccourcis clavier

| Raccourci | Action | | --------------- | -------------------------- | | ⌘ + R | Exécuter la requête | | ⌘ + . | Annuler la requête | | ⌘ + T | Nouvel onglet de requête | | ⌘ + W | Fermer l'onglet actuel | | ⌘ + S | Sauvegarder la requête | | ⌘ + F | Rechercher dans la requête | | ⌘ + / | Basculer les commentaires | | Tab | Indenter la sélection | | Shift + Tab | Désindenter la sélection |

Exécution des requêtes

Exécution étape par étape

  1. Écrivez votre requête dans l'éditeur
  2. Cliquez sur le bouton Exécuter (▶) ou appuyez sur ⌘ + R
  3. Visualisez les résultats dans le volet des résultats
  4. Vérifiez les informations d'exécution dans la barre d'état

Exécution partielle d'une requête

Vous pouvez exécuter seulement une partie d'une requête :

  1. Sélectionnez le texte que vous voulez exécuter
  2. Clic droit et choisissez "Exécuter la sélection"
  3. Ou utilisez le raccourci clavier ⌘ + Shift + R

Résultats d'exécution

Après avoir exécuté une requête, vous verrez :

  • Grille des résultats : Les données affichées dans un tableau triable et filtrable
  • Nombre de lignes : Nombre total de lignes retournées
  • Temps d'exécution : Durée d'exécution de la requête
  • Messages : Tous les messages de PostgreSQL (surtout pour les requêtes DML)

Filtrage des données avec WHERE

Clause WHERE de base

SELECT * FROM products WHERE price > 100;

Conditions multiples

SELECT * FROM orders
WHERE status = 'shipped'
  AND order_date >= '2024-01-01';

Correspondance de motifs avec LIKE

SELECT * FROM customers
WHERE email LIKE '%@gmail.com';

SELECT * FROM products
WHERE name LIKE 'Pro%';

Valeurs NULL

-- Trouver les lignes où email est NULL
SELECT * FROM users WHERE email IS NULL;

-- Trouver les lignes où email n'est PAS NULL
SELECT * FROM users WHERE email IS NOT NULL;

Tri des résultats avec ORDER BY

Ordre croissant (par défaut)

SELECT * FROM products ORDER BY price;

Ordre décroissant

SELECT * FROM products ORDER BY price DESC;

Colonnes de tri multiples

SELECT * FROM employees
ORDER BY department, last_name, first_name;

Travail avec les résultats

Visualisation des résultats

  • Défilement : Naviguez dans les résultats avec la souris ou le clavier
  • Tri : Cliquez sur les en-têtes de colonnes pour trier par ordre croissant/décroissant
  • Filtrage : Clic droit sur les en-têtes de colonnes pour filtrer les valeurs
  • Redimensionnement : Faites glisser les bordures des colonnes pour ajuster la largeur
  • Réorganisation : Faites glisser les en-têtes de colonnes pour réorganiser les colonnes

Opérations sur les cellules

  • Copier une cellule : Double-cliquez sur une cellule ou appuyez sur ⌘ + C
  • Modifier une cellule : Double-cliquez et modifiez (pour changements locaux uniquement)
  • Voir le contenu complet : Survolez les cellules tronquées pour voir l'info-bulle

Exportation des résultats

  1. Cliquez sur le bouton Exporter dans la barre d'outils
  2. Choisissez le format : CSV ou JSON
  3. Sélectionnez la destination : Enregistrer dans un fichier ou copier dans le presse-papiers
  4. Configurez les options : Délimiteurs, encodage, en-têtes

Sauvegarde et organisation des requêtes

Sauvegarde des requêtes

  1. Cliquez sur Enregistrer (⌘ + S) ou l'icône de sauvegarde
  2. Choisissez l'emplacement : Fichier local ou bibliothèque HarborDB
  3. Ajoutez des métadonnées : Nom, description, étiquettes

Bibliothèque de requêtes

Organisez les requêtes sauvegardées dans des dossiers :

  • Favoris : Étoilez les requêtes fréquemment utilisées
  • Récentes : Suivez automatiquement les requêtes récemment utilisées
  • Étiquettes : Catégorisez les requêtes avec des étiquettes personnalisées

Modèles de requêtes

Créez des modèles réutilisables pour les requêtes courantes :

-- Modèle : Trouver les utilisateurs inactifs
SELECT user_id, email, last_login
FROM users
WHERE last_login < CURRENT_DATE - INTERVAL '90 days'
  AND active = true;

Modèles de requêtes courants

Comptage d'enregistrements

SELECT COUNT(*) FROM users;
SELECT COUNT(DISTINCT country) FROM customers;

Agrégation de données

SELECT
  category,
  COUNT(*) as product_count,
  AVG(price) as avg_price,
  MIN(price) as min_price,
  MAX(price) as max_price
FROM products
GROUP BY category;

Requêtes de date/heure

-- Commandes d'aujourd'hui
SELECT * FROM orders WHERE order_date = CURRENT_DATE;

-- 7 derniers jours
SELECT * FROM logs
WHERE log_date >= CURRENT_DATE - INTERVAL '7 days';

-- Par mois
SELECT
  EXTRACT(MONTH FROM order_date) as month,
  COUNT(*) as order_count
FROM orders
GROUP BY EXTRACT(MONTH FROM order_date)
ORDER BY month;

Jointure de tables

SELECT
  o.order_id,
  o.order_date,
  c.first_name,
  c.last_name,
  c.email
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
WHERE o.status = 'completed';

Bonnes pratiques

1. Commencez avec SELECT *

Lorsque vous explorez une nouvelle table, utilisez SELECT * pour voir toutes les colonnes, puis affinez pour des colonnes spécifiques.

2. Utilisez LIMIT

Utilisez toujours LIMIT lorsque vous interrogez des tables non familières pour éviter des résultats écrasants.

3. Formatez vos requêtes

Utilisez un formatage cohérent pour la lisibilité :

  • Mots-clés en majuscules
  • Indentation pour les requêtes complexes
  • Sauts de ligne pour les clauses longues

4. Commentez votre code

Ajoutez des commentaires pour les requêtes complexes :

-- Calculer les revenus mensuels par catégorie de produit
-- Excluant les commandes remboursées et les comptes de test
SELECT
  DATE_TRUNC('month', order_date) as month,
  category,
  SUM(amount) as total_revenue
FROM orders
WHERE status != 'refunded'
  AND customer_id NOT IN (SELECT customer_id FROM test_accounts)
GROUP BY DATE_TRUNC('month', order_date), category
ORDER BY month DESC, total_revenue DESC;

5. Testez avec WHERE 1=0

Pour voir la structure des colonnes sans récupérer de données :

SELECT * FROM large_table WHERE 1=0;

Dépannage des problèmes courants

"La relation n'existe pas"

  • Vérifiez l'orthographe du nom de la table et la sensibilité à la casse
  • Vérifiez que vous êtes connecté à la bonne base de données
  • Assurez-vous d'avoir les permissions appropriées

"La colonne n'existe pas"

  • Vérifiez les noms de colonnes dans la clause SELECT
  • Vérifiez les fautes de frappe
  • Utilisez d'abord SELECT * pour voir toutes les colonnes disponibles

Requêtes lentes

  • Ajoutez LIMIT pour tester les performances
  • Vérifiez les index manquants
  • Utilisez EXPLAIN pour analyser le plan de requête
  • Considérez les facteurs de performance côté serveur

Erreurs de connexion

  • Vérifiez que la connexion est active
  • Vérifiez la connectivité réseau
  • Confirmez que le serveur PostgreSQL est en cours d'exécution

Prochaines étapes

Maintenant que vous comprenez les bases des requêtes :

  1. Pratiquez avec vos propres tables de base de données
  2. Explorez le guide Techniques de requêtes avancées
  3. Apprenez sur l'Exportation de données
  4. Essayez les techniques d'Optimisation des performances

Référence rapide

Clauses SQL essentielles

  • SELECT - Choisir les colonnes à retourner
  • FROM - Spécifier la table à interroger
  • WHERE - Filtrer les lignes
  • ORDER BY - Trier les résultats
  • LIMIT - Restreindre le nombre de lignes
  • GROUP BY - Agréger les données
  • HAVING - Filtrer les données agrégées

Fonctions courantes

  • COUNT() - Compter les lignes
  • SUM() - Somme des valeurs
  • AVG() - Moyenne des valeurs
  • MIN()/MAX() - Trouver les extrêmes
  • COALESCE() - Gérer les valeurs NULL
  • CONCAT() - Combiner des chaînes
  • EXTRACT() - Extraire des parties de date

Cela vous a-t-il été utile ?

Aidez-nous à améliorer cette documentation en fournissant des commentaires.