CPGE Oujda                                                                                                                                                Spé

SQL/interrogation d’une base de données

Select/where/distinct/in/and/or/like/between

Le SQL (Structured Query Language) est un langage permettant de communiquer avec une base de données. Ce langage informatique est notamment très utilisé par les développeurs web pour communiquer avec les données d’un site web

SQL SELECT

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.

Exemple :

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)

Commande basique

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 ».

Exemple

SELECT ville FROM client

Obtenir plusieurs colonnes

SELECT prenom, nom FROM client

Obtenir toutes les colonnes d’un tableau

SELECT * FROM client

SQL DISTINCT

Pour éviter des redondances dans les résultats il faut simplement ajouter DISTINCT après le mot SELECT.

Commande basique

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

SQL WHERE

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.

Syntaxe

SELECT nom_colonnes FROM nom_table WHERE condition

Exemple

SELECT * FROM client WHERE ville = 'paris'

Opérateurs de comparaisons

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

AND & OR

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)

Exemple de données

 
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' )

 BETWEEN

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

Syntaxe

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

LIKE

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.

Syntaxe

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%'

Obtenir les résultats terminent par « e »

SELECT *
FROM client
WHERE ville LIKE '%e'