CPGE Oujda Spé
SQL/interrogation d’une base de données
Select/where/distinct/in/and/or/like/between
L’utilisation la plus courante de SQL consiste à lire des données issues de la base de données. Cela s’effectue grâce à la commande SELECT, qui retourne des enregistrements dans un tableau de résultat. Cette commande peut sélectionner une ou plusieurs colonnes d’une table.
Créer une base de données appelée « client » qui contient des informations sur les clients d’une entreprise ,l’alimenter puis y appliquer les exemples suivants .
Table « client » ( identifiant,prenom,nom,ville,date_inscription,adresse_,ville)
SELECT nom_du_champ FROM nom_du_tableau
Cette requête SQL va sélectionner (SELECT) le champ « nom_du_champ » provenant (FROM) du tableau appelé « nom_du_tableau ».
SELECT ville FROM client
SELECT prenom, nom FROM client
SELECT * FROM client
Pour éviter des redondances dans les résultats il faut simplement ajouter DISTINCT après le mot SELECT.
SELECT DISTINCT ma_colonne
FROM nom_du_tableau
Cette requête sélectionne le champ « ma_colonne » de la table « nom_du_tableau » en évitant de retourner des doublons.
SELECT DISTINCT prenom FROM client
La commande WHERE dans une requête SQL permet d’extraire les lignes d’une base de données qui respectent une condition. Cela permet d’obtenir uniquement les informations désirées.
SELECT nom_colonnes FROM nom_table WHERE condition
SELECT * FROM client WHERE ville = 'paris'
Il existe plusieurs opérateurs de comparaisons. La liste ci-jointe présente quelques uns des opérateurs les plus couramment utilisés.
|
Opérateur |
Description |
|
= |
Égale |
|
<> |
Pas égale |
|
!= |
Pas égale |
|
> |
Supérieur à |
|
< |
Inférieur à |
|
>= |
Supérieur ou égale à |
|
<= |
Inférieur ou égale à |
|
IN |
Liste de plusieurs valeurs possibles |
|
BETWEEN |
Valeur comprise dans un intervalle donnée (utile pour les nombres ou dates) |
|
LIKE |
Recherche en spécifiant le début, milieu ou fin d'un mot. |
|
IS NULL |
Valeur est nulle |
|
IS NOT NULL |
Valeur n'est pas nulle |
Les opérateurs logiques AND et OR peuvent être utilisées au sein de la commande WHERE pour combiner des conditions.
syntaxe
SELECT nom_colonnes
FROM nom_table
WHERE condition1 AND condition2
SELECT nom_colonnes FROM nom_table
WHERE condition1 OR condition2
Ces opérateurs peuvent être combinés à l’infini et mélangés. L’exemple ci-dessous filtre les résultats de la table « nom_table » si condition1 ET condition2 OU condition3 est vrai :
SELECT nom_colonnes FROM nom_table
WHERE condition1 AND (condition2 OR condition3)
SELECT * FROM produit
WHERE categorie = 'informatique' AND stock < 20
SELECT * FROM produit
WHERE nom = 'ordinateur' OR nom = 'clavier'
SELECT * FROM produit
WHERE ( categorie = 'informatique' AND stock < 20 )
OR ( categorie = 'fourniture' AND stock < 200 )
l’opérateur IN :
Exemple
SELECT *
FROM adresse
WHERE addr_ville IN ( 'Paris', 'Graimbouville' )
L’opérateur BETWEEN est utilisé dans une requête SQL pour sélectionner un intervalle de données dans une requête utilisant WHERE
SELECT *
FROM table
WHERE nom_colonne BETWEEN 'valeur1' AND 'valeur2
Exemples
SELECT *
FROM utilisateur
WHERE date_inscription BETWEEN ’2012-04-01′ AND ’2012-04-20′
SELECT *
FROM utilisateur
WHERE id NOT BETWEEN 4 AND 10
L’opérateur LIKE est utilisé dans la clause WHERE des requêtes SQL. Ce mot-clé permet d’effectuer une recherche sur un modèle particulier.
SELECT *
FROM table
WHERE colonne LIKE modele
Dans cet exemple le « modèle » n’a pas été défini, mais il ressemble très généralement à l’un des exemples suivants:
Exemples:
SELECT *
FROM client
WHERE ville LIKE 'N%'
SELECT *
FROM client
WHERE ville LIKE '%e'