Retour à la liste des articles Articles
9 minutes de lecture

Quelles sont les requêtes SQL de base ?

Vous pouvez accéder aux données d'une base de données à l'aide de quelques requêtes SQL de base. Dans cet article, nous passons en revue les requêtes SQL fondamentales que tout débutant devrait connaître.

Les bases de données sont omniprésentes et contiennent différents types de données. Presque toutes supportent SQL, un langage qui vous permet de lire et de manipuler les données contenues dans une base de données. Dans cet article, je vous montrerai les requêtes SQL de base que vous pouvez utiliser pour effectuer de nombreuses tâches quotidiennes liées aux données.

La meilleure façon d'apprendre le langage SQL est notre cours interactif SQL pour les débutants interactif. Il comporte plus de 120 exercices, en commençant par des exemples très simples, puis en passant à des concepts tels que les JOIN et les conditions WHERE. Pour en savoir plus sur le langage SQL, consultez notre article Qu'est-ce que le langage SQL ? Vous pouvez également découvrir pourquoi le langage SQL n'est pas difficile à apprendre.

Qu'est-ce qu'une requête SQL ?

Une base de données est un programme informatique qui stocke de grandes quantités de données. Les bases de données sont généralement organisées en tables. Chaque table stocke les données relatives à une chose, une personne, un lieu ou un autre objet (décrivant par exemple des clients, des produits, des rendez-vous ou des employés). Une fois les données stockées dans une base de données, vous pouvez créer des rapports à partir de ces données - par exemple, vous pouvez créer une liste des clients qui ont effectué des transactions au cours du mois dernier.

Vous créez des rapports de base de données à l'aide de SQL, ou Structured Query Language (langage de requête structuré). SQL est le langage de programmation utilisé pour communiquer avec les bases de données. Une requête SQL est une expression, semblable à une phrase anglaise, qui définit l'ensemble des données à extraire de la base de données. Vous pouvez considérer une requête SQL comme une question que vous envoyez à la base de données ; vous vous attendez ensuite à ce que la base de données réponde à la question en renvoyant les données.

Dans cet article, nous vous présenterons les requêtes SQL les plus élémentaires. Celles-ci peuvent être utilisées pour effectuer des tâches courantes liées aux données. Vous pouvez facilement modifier ces requêtes SQL et les utiliser sur votre propre base de données.

Avant de commencer les requêtes, examinons les données que nous allons utiliser.

Notre tableau d'exemple

Les requêtes seront basées sur une table appelée products. Cette table contient toutes les informations relatives aux produits d'une société de commerce électronique. Vous pouvez voir les colonnes de la table dans l'image ci-dessous :

prod_codenameprod_ familycostpricestockproviderstatus
1001Cell Phone A200Phones50085035Trixavailable
1002Cell Phone A310Phones740120050Trixavailable
1003HeadsetAudio2450150Zeysold out
2001Portable SpeakerAudio14023050Zeyavailable
2002Sound Box Hulk1Audio2203400Zeydiscontinued
2003Sound Box Hulk2Audio32053012Zeyavailable
2004HeadsetAudio325885Zeyavailable
3001Tablet X8 8 inchTablets15530035MiniSOftavailable
3002Tablet X12 12 inchTablets21543040MiniSoftavailable

Les noms des colonnes sont explicites. La colonne la plus importante est peut-être prod_code. Elle stocke un code numérique identifiant chaque produit (c'est-à-dire l'ID de chaque produit). Il convient également de noter que la colonne "statut" ne peut avoir que quatre valeurs valides : "disponible", "épuisé", "bientôt disponible" ou "discontinué".

Maintenant que nous savons à quelles données nous attendre, commençons à écrire quelques requêtes SQL !

Requêtes SQL de base

Requête 1 : Sélectionner toutes les données d'une table

La première requête est un moyen simple de récupérer toutes les informations d'une table de base de données. La requête suivante affiche tous les enregistrements dans toutes les colonnes de la table product colonnes de la table :

SELECT * 
FROM products

L'instruction SELECT utilise le symbole * pour représenter "toutes les colonnes". Ensuite, la clause FROM indique la table à lire. Comme nous pouvons le voir ci-dessous, le résultat est le tableau complet : tous les enregistrements et toutes les colonnes. Vous pouvez utiliser cette requête pour jeter un coup d'œil dans un tableau et connaître le type de données qu'il contient.

prod_codenameprod_ familycostpricestockproviderstatus
1001Cell Phone A200Phones50085035Trixavailable
1002Cell Phone A310Phones740120050Trixavailable
1003HeadsetAudio2450150Zeysold out
2001Portable SpeakerAudio14023050Zeyavailable
2002Sound Box Hulk1Audio2203400Zeydiscontinued
2003Sound Box Hulk2Audio32053012Zeyavailable
2004HeadsetAudio325885Zeyavailable
3001Tablet X8 8 inchTablets15530035MiniSOftavailable
3002Tablet X12 12 inchTablets215430140MiniSoftavailable

Requête 2 : Sélection de colonnes spécifiques dans un tableau

Il est également possible de n'afficher que quelques colonnes d'un tableau. Supposons que nous voulions une liste de prix avec les colonnes name, provider, prod_family et price. La requête est très simple :

SELECT 
  name, 
  provider, 
  prod_family, 
  price 
FROM products

Nous avons spécifié les colonnes que nous voulons extraire du tableau : name provider prod_family price Dans la deuxième ligne de la requête, nous utilisons la clause FROM pour indiquer la table à lire. Le résultat est le suivant :

nameproviderprod_familyprice
Cell Phone A200TrixPhones850
Cell Phone A310TrixPhones1200
HeadsetZeyAudio50
Portable SpeakerZeyAudio230
Sound Box Hulk1ZeyAudio340
Sound Box Hulk2ZeyAudio530
HeadsetZeyAudio58
Tablet X8 8 inchMiniSOftTablets300
Tablet X12 12 inchMiniSoftTablets430

Requête 3 : Effectuer des calculs simples

Il est possible d'effectuer des calculs dans une requête SQL. Ceux-ci nous permettent d'obtenir une valeur calculée dérivée d'autres valeurs stockées dans la table de la base de données.

Calculons les montants de location des produits à l'aide des colonnes price et cost, puis affichons le montant à côté du nom du produit. Voici la requête que nous utiliserons :

SELECT 
  name,
  price - cost AS rentability
FROM products

La deuxième ligne de la requête contient l'expression arithmétique price - cost. Le mot-clé AS permet d'attribuer le nom rentability au résultat de cette expression arithmétique. La nouvelle information est affichée sous forme de colonne dans le résultat de la requête :

namerentability
Cell Phone A200350
Cell Phone A310460
Headset26
Portable Speaker90
Sound Box Hulk1120
Sound Box Hulk2210
Headset26
Tablet X8 8 inch145
Tablet X12 12 inch215

Requête 4 : Filtrage des données

En général, vous ne voulez pas voir toutes les données d'une base de données. Vous ne voulez voir que les lignes qui correspondent à certains critères : les produits d'une même famille ou dont le prix est inférieur à un certain seuil. En SQL, cela s'appelle filtrer les données.

La clause WHERE filtre les données que vous souhaitez à partir du reste des données de la table. Elle extrait les enregistrements qui répondent à certaines conditions. Par exemple, supposons que nous voulions une liste de prix pour les produits de la famille "Audio". Nous pouvons utiliser la requête suivante pour obtenir le résultat :

SELECT 
  name, 
  provider, 
  prod_family, 
  price 
FROM products
WHERE prod_family = ‘Audio’

La clause WHERE indique que nous ne voulons obtenir que les enregistrements dont la condition prod_family = ‘Audio’ est TRUE. Les autres enregistrements (ceux qui appartiennent aux familles Téléphones ou Tablettes) ne feront pas partie du résultat. En d'autres termes, nous filtrons les enregistrements de la table products.

nameproviderprod_ familyprice
HeadsetZeyAudio50
Sound Box Hulk1ZeyAudio340
Portable SpeakerZeyAudio230
Sound Box Hulk2ZeyAudio530
HeadsetZeyAudio58

Requête 5 : tri des données dans le résultat de la requête

Il arrive souvent que vous souhaitiez afficher les résultats d'une requête dans un certain ordre, par exemple en classant les produits du moins cher au plus cher ou en classant les noms de produits par ordre alphabétique. La clause ORDER BY est utilisée pour définir l'ordre des enregistrements dans le résultat de la requête.

Supposons que nous voulions classer les produits de notre requête précédente par nom. Notez que nous utilisons ORDER BY dans cette requête :

SELECT 	
  name, 
  provider, 
  prod_family, 
  price 
FROM products
WHERE prod_family = ‘Audio’
ORDER BY name

Nous pouvons voir les mêmes enregistrements dans l'ordre alphabétique du nom du produit :

nameproviderprod_ familyprice
HeadsetZeyAudio50
HeadsetZeyAudio58
Portable SpeakerZeyAudio230
Sound Box Hulk1ZeyAudio340
Sound Box Hulk2ZeyAudio530

Combiner toutes les fonctionnalités pour résoudre les problèmes de l'entreprise

Vous pouvez combiner toutes les fonctions SQL présentées dans cet article en une seule requête. La combinaison de ces fonctions SQL permet de créer une requête plus complexe qui peut résoudre des problèmes commerciaux réels.

Le résultat de la dernière requête de la section précédente est similaire à une liste de prix des produits de la famille Audio. Toutefois, il indique les produits qui ne sont plus commercialisés ou qui sont épuisés. Dans la requête suivante, nous ajouterons une deuxième condition logique dans la clause WHERE pour n'inclure que les produits actuellement disponibles :

SELECT 	
  name, 
  provider, 
  prod_family, 
  price 
FROM products
WHERE prod_family = ’Audio’  
  AND status = ’available’
ORDER BY name

Les conditions de la clause WHERE sont liées au connecteur logique AND; ainsi, le résultat n'inclura que les enregistrements pour lesquels les deux conditions logiques sont VRAIES. Nous pouvons le constater dans les résultats suivants :

nameproviderprod_ familyprice
HeadsetZeyAudio50
HeadsetZeyAudio58
Portable SpeakerZeyAudio230
Sound Box Hulk2ZeyAudio530

Dans l'exemple de requête suivant, nous allons essayer de combiner toutes les clauses SQL abordées dans cet article. Supposons que nous planifions une campagne de marketing et que nous devions choisir deux produits à promouvoir. Nous voulons des produits dont la valeur locative est supérieure à 200 $ et dont le stock est supérieur à 25 unités. Nous allons également ordonner le rapport en fonction d'une métrique appelée "rentabilité potentielle", qui est calculée à l'aide de la formule : (price - cost) * stock. Voici la requête :

SELECT 
  name, 
  price - cost AS rentability,
  stock, 
  (price - cost) * stock AS potential_rentability
FROM products
WHERE price - cost > 200  
AND stock > 25
ORDER BY (price - cost) * stock DESC;

La requête précédente calcule deux mesures. L'une est rentability et est calculée à l'aide de la formule price - cost. L'autre mesure est potential_rentability, qui est calculée à l'aide de la formule (price - cost) * stock. Dans la clause WHERE, la requête spécifie deux conditions : les enregistrements à retourner doivent avoir une valeur rentability supérieure à 200 et une valeur stock supérieure à 25 unités. Enfin, le résultat de la requête est ordonné par la métrique potential_rentability dans l'ordre décroissant (du plus grand au plus petit). Voici le résultat :

namerentabilitystockpotential rentability
Tablet X12 12 inch21514030100
Cell Phone A3104605023000
Cell Phone A2003503512250

Poursuivre l'apprentissage des requêtes SQL de base !

Dans cet article, nous avons abordé les requêtes SQL de base qui peuvent être utilisées pour effectuer des tâches de données simples. Cependant, SQL offre de nombreuses clauses et techniques supplémentaires qui vous permettent d'effectuer davantage d'opérations sur les données.

Notre cours interactif SQL pour les débutants est le meilleur moyen de maîtriser les bases du langage SQL. Il contient plus de 120 exercices qui couvrent les requêtes SQL de base (comme celles présentées dans cet article) et d'autres constructions SQL qui vous permettent de combiner des données provenant de plusieurs tables et de calculer diverses statistiques.

Si vous connaissez déjà les bases du langage SQL, notre Aide-mémoire SQL de base est une ressource de référence pratique. Elle vous donnera un rappel concis de la syntaxe SQL avec des exemples de requêtes.