Après l’introduction que nous avons fait ici, nous voulons commencer notre apprentissage du langage sql avec la partie LMD et plus particulièrement l’ordre sql select.

Dans cette partie, nous commençons par la syntaxe générale de l’ordre select. Puis, nous détaillons les clauses from et where, avec des exemples d’utilisation et des vidéos en Darija-Maroc. Ensuite, les autres parties de la syntaxe de l’ordre sql select seront expliquer dans l’article : l’ordre Select (2/2)

Langage de Manipulation des Données (LMD) :

1- L'ordre select :

L’opération select permet de rechercher des données à partir de plusieurs tables; le résultat est présenté sous forme d’une table réponse.

Syntaxe :

SELECT [distinct] * | <liste des champs >

FROM <Liste des tables>

[WHERE <critère de sélection >]

[GROUP BY <critères de regroupement>]

[HAVING <conditions de filtrage sur les groupes>]

[ORDER BY <liste des champs > ASC | DESC ] ;

Selon sa syntaxe, La requête SELECT la plus simple possible est la suivante :

SELECT  * | <liste des champs >

  FROM <Liste des tables>

Exemple : Soit la table : Produit(idp, libelle, marque, prix)

  • Sélection de Toutes les Colonnes : afficher tous les produits

                select * from produit

  • Sélection d’une ou Plusieurs Colonnes Spécifiques (Projection) :

SELECT libelle, marque FROM PRODUIT

Remarque 1:

Il est possible de créer des expressions avec des données numériques et DATE au moyen d’opérateurs arithmétiques +, -, *, /  

 Exemple : select prix-200 from produit

Remarque 2 : La Valeur NULL :

 NULL représente une valeur non disponible, non affectée, ou inconnue. NULL est différente du zéro ou de l’espace.

Remarque 3 : L’Alias de Colonne

Renomme un entête de colonne. il suit immédiatement le nom de la colonne ; le mot clé AS placé entre le nom et l’alias est optionnel. L’alias doit obligatoirement être inclus entre guillemets s’il contient des espaces, des caractères spéciaux ou si les majuscules/minuscules doivent être différenciées

1-1 Clause DINSTINCT

Contrairement à l’algèbre relationnelle, SQL n’élimine pas les doublons. Pour éliminer les doublons il faut spécifier DISTINCT

Exemple: Donner les différentes marques de produit.

  SELECT    DISTINCT marque      FROM         PRODUIT

1-2 Clause WHERE (restriction)

Permet d’ajouter une condition à la requête de sélection. Avec la clause where, on peut utiliser :

  • Opérateurs pour une condition simple:
  • Opérateurs de comparaison: =,<>, <, >, <=, >=
  • Prédicats : LIKE, BETWEEN, IN, ALL, EXISTS, ANY, IS NULL       
  • Opérateurs pour les conditions composées: AND, OR, NOT

L’opérateur between :

L’opérateur BETWEEN: teste si une valeur appartient à un intervalle.

Exemple: Lister les ventes dont la quantité est entre 4 et 12.

SELECT         *

FROM VENTE

WHERE qte BETWEEN 4 AND 12

L’opérateur like :

 L’opérateur LIKE compare une chaîne avec un modèle Caractères génériques : 

  • % : Toute chaîne de 0 caractère ou plus
  • _ : n’importe quel caractère
  • [ ] : tout caractère de l’intervalle
  • [^] : tout caractère en dehors de l’intervalle​

Exemple: Donner la liste des clients dont le nom commence par a.

   SELECT         *

  FROM       CLIENT

  WHERE nom LIKE ‘a%’

L’opérateur IN :

Teste l’appartenance à une liste de valeurs, il est utilisé avec les requêtes internes.

Exemple: Donner la liste des Clients des villes Rabat, Casa et Safi.

 SELECT         *

 FROM CLIENT

WHERE   ville  IN (‘Rabat’, ‘Casa’, ‘Safi’)

            L’Opérateur IS NULL :

Recherche de valeurs NULL avec l’opérateur IS NULL

Exemple : liste des produits de marque non affectées

 SELECT *

 FROM Produit

             WHERE Marque IS NULL;

Dans la partie suivante, on va découvrir la syntaxe sql utilisée pour exprimer l’opération de jointure. Aussi, on va dévoiler les différents types de jointures existants.

Vous pouvez suivre la liste des vidéos du cours base de données (Merise + Sql + Transact sql) sur notre chaine youtube : Vidéos Bases de données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *