0% ont trouvé ce document utile (0 vote)
116 vues17 pages

SQL 1 Cours

Le document décrit les principales clauses et fonctionnalités du langage SQL, notamment la sélection, la projection, le tri, les regroupements et les calculs statistiques sur des données relationnelles.

Transféré par

Iliass Abeh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
116 vues17 pages

SQL 1 Cours

Le document décrit les principales clauses et fonctionnalités du langage SQL, notamment la sélection, la projection, le tri, les regroupements et les calculs statistiques sur des données relationnelles.

Transféré par

Iliass Abeh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1

Le langage SQL

Structured Query Language


Langage de requête structurée

T. Alran – N. Bouafia – Y. Bouiche – H. Fouah – J. Pons


27/10/2017 Master 2 - SISE
Présentation • Langage complet de gestion de bases
du langage de données relationnelles
SQL (1)
• Aujourd’hui SQL est devenu un
standard (normalisé par l'ANSI depuis
1986) disponible sur presque tous les
SGBD relationnels (ORACLE,
INFORMIX, Access, SQL Server, etc.).

27/10/2017 Master 2 - SISE


Présentation Le SQL est à la fois:

du langage ✓Un langage d’Interrogation de bases de


SQL (2) données (LID)

✓Un langage de mise à jour - Manipulation


(LMD)

✓Un langage de Définition des données


(LDD)

✓Un langage de Contrôle d’accès aux


données (LCD)

27/10/2017 Master 2 - SISE


Le Langage La clause SELECT permet de réaliser : la
d'interrogation projection et la sélection.
de données
(LID) Syntaxe générale :

SELECT [DISTINCT] < noms des champs / * >


FROM < noms des tables >
[WHERE < conditions de sélection >]
[GROUP BY < noms des champs >]
[HAVING < conditions de having >]
[ORDER BY < noms des champs > [ASC / DESC]
4

27/10/2017 Master 2 - SISE


Tables et données
client
idclient
Structure de la table Client
nomclient
prenomclient
Données des différents clients villeclient
ageclient

idclient nomclient prenomclient villeclient ageclient


011 Dubois Patrick Lyon 46

012 Durand Stéphanie Toulon 61

013 Girault Philippe Marseille 37

014 Dupont Antoine Lyon 29

015 Fabian Alain Nice 54 5

27/10/2017 Master 2 - SISE


LID : La Projection

La Projection (SELECT … FROM …)

L'opération de projection consiste à choisir le nom des attributs de la (ou des)


table(s) que l'on souhaite voir apparaître dans la réponse.
Si l'on veut afficher toutes les colonnes, il faut utiliser « * ». Les noms des attributs
sont données dans la clause SELECT.
Si l’on veut éliminer les doublons, il faut utiliser « DISTINCT ». Il est utilisé pour
chaque attribut non clé.
Si l’on souhaite créer un alias pour une meilleure lisibilité (attributs et tables), il faut
utiliser « AS ».

6
Exemple : SELECT idclient AS identifiant FROM client AS c

27/10/2017 Master 2 - SISE


LID : La Projection
Exemples :

Requête 1 : SELECT villeclient FROM client


Requête 2 : SELECT * FROM client
Requête 3 : SELECT DISTINCT villeclient FROM client

Résultat de la requête 1 : Résultat de la requête 2 : Résultat de la requête 3 :

villeclient
idclient nomclient prenomclient villeclient ageclient villeclient
Lyon
011 Dubois Patrick Lyon 46 Lyon
Toulon 012 Durand Stéphanie Toulon 61
Toulon
Marseille 013 Girault Philippe Marseille 37
Marseille
014 Dupont Antoine Lyon 29
Lyon
015 Fabian Alain Nice 54 Nice
7
Nice

27/10/2017 Master 2 - SISE


LID : La Sélection
La Sélection (SELECT …FROM…WHERE…)
L'opération de sélection consiste à sélectionner des lignes d'une (ou plusieurs)
table(s) qui satisfont certaines conditions.
Les conditions sont exprimées dans la clause WHERE.

La sélection peut se faire sur 1..N critères, à l’aide :


✓ Des opérateurs de comparaison (<,>,=, <=,>=, <>)
✓ Des opérateurs logiques (AND, OR, NOT)
✓ Des opérateurs arithmétiques (+,-,*, /)
✓ Des opérateurs IN (Appartenance), BETWEEN (Intervalle, bornes incluses),
LIKE (Comparaison de chaînes), NULL.

27/10/2017 Master 2 - SISE


LID : La Sélection

Exemple:
Donnez les caractéristiques du client ayant comme identifiant 012.

SELECT * FROM client WHERE idclient=012

Résultat de la requête:
idclient nomclient prenomclient villeclient ageclient
012 Durand Stéphanie Toulon 61

27/10/2017 Master 2 - SISE


LID : La Projection et la Sélection

Projection et Sélection (SELECT …FROM…WHERE…)


Les opérations de projection et de sélection peuvent évidemment être utilisées
dans la même requête SQL.

Exemple:
Donnez les noms et prénoms des clients client âgés entre 40 et 60 ans.

SELECT nomclient FROM client WHERE ageclient BETWEEN 40 AND 60

nomclient
Résultat de la requête:
Dubois

Fabian 10

27/10/2017 Master 2 - SISE


Les opérateurs
✓ Les opérateurs et fonctions arithmétiques (dans les clauses
SELECT et WHERE)

Les opérateurs les plus utilisés sont:


ROUND : (nbre décimal, nbre de décimales)
ABS (nombre): Valeur absolue d'un nombre
SQR (nombre): Racine carrée d’un nombre (doit être >0)

✓ Les fonctions d'agrégation (dans les clauses SELECT et


HAVING)
AVG : calcule la moyenne des valeurs d’un champ numérique
COUNT : dénombre les occurrences d’un champ
MAX, MIN : donne la valeur max, min d’un champ
SUM : calcule la somme des valeurs d’un champ numérique 11

27/10/2017 Master 2 - SISE


La clause GROUP BY
La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs
statistiques avec des données brutes.
Cette clause regroupe les occurrences ayant même valeur pour l’attribut(s)
spécifié(s) dans la clause Group By, et renvoie une seule ligne par groupe.

Tous les attributs du SELECT et du GROUP BY doivent être identiques (aux fonctions
agrégats près).
GROUP BY trie par ordre croissant de ses attributs

Exemple:
Donner, pour chaque ville de client, le nombre de client y résidant.

SELECT villeclient, count(idclient)


FROM client
GROUP BY villeclient 12

27/10/2017 Master 2 - SISE


La clause HAVING

Elle ne s’utilise qu’avec la clause GROUP BY, pour faire des sélections sur les
calculs de regroupement.

Exemple:
Donner, pour chaque ville de client, le nombre de client y résidant si celui-
ci est supérieur à 10.

SELECT villeclient, count(idclient)


FROM client
GROUP BY villeclient HAVING count(idclient)>10
13

27/10/2017 Master 2 - SISE


La clause ORDER BY

Elle permet de trier les données de la table résultat (sans aucune altération de la
table physique).
Les attributs du ORDER BY sont inclus dans ceux du SELECT.
Les valeurs NULL se retrouvent en tête du tri.

Exemple:

SELECT DISTINCT villeclient


FROM client
ORDER BY villeclient ASC/DESC

14

27/10/2017 Master 2 - SISE


LDD : Définitions des données
Le LDD du langage SQL englobe les instructions CREATE, ALTER, DROP, permettant
d’agir sur les objets de la BD, à savoir les tables, index, vues, synonymes.
Toutes ces actions peuvent se faire en mode interactif, ou intégrées dans une application.
Elles sont toutefois toujours soumises aux autorisations dont bénéficie leur utilisateur.

CREATE
Syntaxe :
La clause CREATE permet de créer une CREATE TABLE <nom de la table>
table. Il faudra alors fournir les noms et (<Nom attribut> <type de l'attribut> …)
types des attributs de cette table.
Les types d’attributs sous Access :
Nombre entiers : SHORT/LONG
Nombres décimaux : FLOAT
Chaines de charactères : CHAR(x) (x lettres), VARCHAR(x) (jusqu’à x lettres), TEXT (255 lettres)
Bouléens : LOGICAL 15
Données temporelles : DATE, TIME
27/10/2017 Master 2 - SISE
LDD : Définitions des données
DROP ALTER
La clause DROP supprime Les modifications possibles sont les
- Tous les tuples de la table (son suivantes :
contenu)
- Ajout de nouveaux attributs (en fin
- La définition de la structure de la table
de table),
(le contenant) qui est stockée dans le
dictionnaire des objets de la BD. De - Suppression d’attributs,
plus, elle libère l’espace mémoire. - Modification d’attributs (nom, type,
propriété).

Syntaxe :
Syntaxe : • ALTER TABLE <nom de la table>
DROP TABLE <nom de la table> ADD <définition attribut>
• ALTER TABLE <nom de la table>
DROP COLUMN <nom attribut> 16
• ALTER TABLE <nom de la table>
27/10/2017 Master 2 - SISE
MODIFY <définition attribut>
Impossible sous Access
17

MAINTENANT…

…PLACE AUX
EXERCICES

27/10/2017 Master 2 - SISE

Vous aimerez peut-être aussi