0% ont trouvé ce document utile (0 vote)
13 vues7 pages

P7C4

Le document traite des méthodes de recherche d'information en utilisant le langage SQL, en se concentrant sur les requêtes élémentaires, les fonctions d'agrégat et les clauses de regroupement. Il présente des opérations telles que la projection, la sélection, la jointure et le tri, ainsi que des fonctions pour compter, sommer et calculer des moyennes. Enfin, il explique l'utilisation des clauses GROUP BY et HAVING pour regrouper et filtrer les résultats des requêtes.

Transféré par

Line Hémery
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • Valeurs de champ,
  • Données relationnelles,
  • Requêtes élémentaires,
  • Opérateurs de comparaison,
  • Traitement de données,
  • Enregistrements,
  • Group By,
  • Analyse statistique,
  • Langage d'interrogation,
  • Syntaxe SQL
0% ont trouvé ce document utile (0 vote)
13 vues7 pages

P7C4

Le document traite des méthodes de recherche d'information en utilisant le langage SQL, en se concentrant sur les requêtes élémentaires, les fonctions d'agrégat et les clauses de regroupement. Il présente des opérations telles que la projection, la sélection, la jointure et le tri, ainsi que des fonctions pour compter, sommer et calculer des moyennes. Enfin, il explique l'utilisation des clauses GROUP BY et HAVING pour regrouper et filtrer les résultats des requêtes.

Transféré par

Line Hémery
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • Valeurs de champ,
  • Données relationnelles,
  • Requêtes élémentaires,
  • Opérateurs de comparaison,
  • Traitement de données,
  • Enregistrements,
  • Group By,
  • Analyse statistique,
  • Langage d'interrogation,
  • Syntaxe SQL

BTS CG 1ère année Activité 7.1.

Recherche d’information

C4. Mettre en oeuvre les méthodes de recherche d’information


7.1.3. Mises en œuvre les méthodes de recherche d’information
Compétences Savoirs associés
Opérer des opérations de traitement de données, extraites en - Schéma relationnel des données,
nombre, avec l’outil adapté à la structuration des données. - Opérations relationnelles,
- SQL, langage d’interrogation de données,
- Projection, Sélection, Jointure,
- Critères de tris,
- Opération de tris croisés,
- Indicateur de gestion.

Plan du chapitre :

1. Les Requêtes Elémentaires

2. Les Fonctions d’Agrégat

3. Les Clauses de Regroupement

BTS CG1 - P7 - Chapitre 4 1


Une fois créée, une base de données n’a d’intérêt que si elle est exploitée. En fait, il s’agit de la questionner, sachant
que le langage qu’elle comprend est particulier. Pour interroger une base de données, on formule des requêtes en
langage SQL (Structured Query Language).

1. Les Requêtes Elémentaires

Les plus simples d’entre elles sont la projection, la sélection, la jointure et le tri.

† La Projection

DÉFINITION Opération permettant de ne retenir que certains champs d’une table.

SELECT champ 1, champ 2, ….


SYNTAXE
FROM table contenant les informations nécessaires ;

On souhaite connaître le nom et le prénom de tous les clients :

EXEMPLE SELECT Nomcli, Prénomcli


FROM T_Clients ;

† La Sélection

Opération permettant de ne retenir que certains enregistrements d’une table en


DÉFINITION
fonction d’un critère.

SELECT champ 1, champ 2, ….


SYNTAXE FROM table contenant les informations nécessaires Utilisation d’opérateurs de
WHERE condition de sélection ; comparaison : > ; < ; = ; …

On souhaite connaître le numéro, le nom et le prix des articles de moins de 10 € :

SELECT Numart, Nomart, Prixunit


EXEMPLE
FROM T_Articles
WHERE Prixunit<10 ;

† La Jointure

Opération permettant d’effectuer des requêtes nécessitant l’utilisation de champs issus de


DÉFINITION
tables différentes.

SELECT champ 1, champ 2, ….


SYNTAXE FROM table 1, table 2 table1.« clé commune » = table2.« clé commune »
WHERE critère de jointure
AND condition de sélection ;

BTS CG1 - P7 - Chapitre 4


On souhaite connaître le numéro et le nom des clients ayant commandé le 14/09/2023 :

Il faut préciser le nom de la table car le


SELECT T_Clients.Numcli, Nomcli champ est présent dans les deux tables
FROM T_Clients, T_Commandes nécessaires à l’exécution de la requête
WHERE T_Clients.Numcli = T_Commandes.Numcli (choisir la table où le champ apparaît
AND DateBC=#14/09/2023# ; en tant que clé primaire).

EXEMPLE
Il y a 2 façons de formuler une jointure entre 2 tables.
▫ Dans le « FROM …….WHERE….. [AND]"

▫ Dans le "FROM… ..…INNER JOIN…….….ON ……."


FROM T_Clients INNER JOIN T_Commandes ON T_Clients.Numcli = T_Commandes.-
Numcli

† Le Tri

Opération permettant d’ordonner les enregistrements d’une ou plusieurs tables en fonc-


DÉFINITION
tion d’un ou plusieurs critères.

SELECT champ 1, champ 2, ….


FROM table(s) contenant les informations nécessaires
WHERE critère de jointure et/ou condition de sélection
SYNTAXE
AND critère de jointure et/ou condition de sélection
ORDER BY critère de tri ASC (tri croissant ou alphabétique) ou DESC (tri décroissant ou
alphabétique inversé) ;

On souhaite connaître le nom des articles, le nom de leur catégorie et leur prix par ordre
croissant de prix :

SELECT Nomart, Nomcat, Prixunit


EXEMPLE
FROM T_Articles, T_Catégories
WHERE T_Articles.Codecat = T_Caté[Link]
ORDER BY Prixunit ASC ;

Quelques règles de syntaxe ou astuces utiles …

SYMBOLES / INSTRUCTIONS EXEMPLES


Toutes les requêtes se terminent SELECT Nomcli
par un point-virgule (" ; "). FROM T_Clients ;
Les données des champs en format "Texte"
… WHERE Villecli = "Cannes"
doivent être mises entre guillemets "…".
Les noms ou valeurs des champs contenant
… AS [Prix moyen]
un espace doivent figurer entre crochets […].
BTS CG1 - P7 - Chapitre 4
Les dates doivent être inscrites
… WHERE Date = #14/09/2023#
entre dièses ("#").
L’instruction BETWEEN permet de retenir
… WHERE Date BETWEEN #14/09/2023# AND #16/09/2023#
les enregistrements compris entre 2 valeurs.
Le symbole "*" remplace
… WHERE Nomcli like "D*"
un ensemble de caractères.

permet d’obtenir tous les clients dont le nom commence par « D ».

2. Les Fonctions d’Agrégat

Introduites dans les requêtes, les fonctions d’agrégats permettent de produire des calculs comme compter un
nombre d’enregistrements, effectuer une somme ou une moyenne, identifier une valeur minimale ou maximale.

† La Fonction « Count »

DÉFINITION Fonction permettant de compter le nombre d’enregistrements sélectionnés.

SELECT COUNT (champ clé primaire) AS [Nom attribué au champ calculé]


SYNTAXE FROM table(s) contenant les champs
…;

On souhaite connaître le nombre d’articles de la catégorie « Alimentaire » ; la solution de-


vra s’appeler « Nombre d’articles alimentaires » :

SELECT COUNT (Numart) AS [Nombre d’articles alimentaires]


EXEMPLE
FROM T_Articles, T_Catégories
WHERE T_Articles.Codecat = T_Caté[Link]
AND Nomcat = "Alimentaire" ;

† La Fonction « Sum »

Fonction permettant d’additionner les valeurs d’un champ


DÉFINITION
sur les enregistrements sélectionnés.

SELECT SUM (champ sur lequel porte la somme) AS [Nom attribué au champ calculé]
SYNTAXE FROM table(s) contenant les champs
…;

On souhaite connaître la quantité totale des articles commandés par le client ROSSI ; la
solution devra s’appeler « Quantité commandée par ROSSI» :

SELECT SUM (Quantité) AS [Quantité commandée par ROSSI]


FROM T_Clients, T_Commandes, T_Concerner
EXEMPLE
WHERE T_Concerner.NumBC = T_Commandes.NumBC
AND T_Commandes.Numcli = T_Clients.Numcli Les tables T_Concerner et
AND Nomcli = "Rossi" ; T_Clients ne sont pas reliées ; il
faut passer par une 3ème table :
T_Commandes

BTS CG1 - P7 - Chapitre 4


† La Fonction « AVG »

Fonction permettant d’effectuer la moyenne des valeurs d’un champ


DÉFINITION
sur les enregistrements sélectionnés.

SELECT AVG (champ sur lequel porte la moyenne) AS [Nom attribué au champ calculé]
SYNTAXE FROM table(s) contenant les champs
…;

On souhaite connaître le prix moyen des articles proposés ; la solution devra s’appeler
« Prix moyen » :
EXEMPLE
SELECT AVG (Prixunit) AS [Prix moyen]
FROM T_Articles ;

† Les Fonctions « Min » et « Max »

Fonctions permettant de ne retenir que la plus petite


DÉFINITION
ou la plus grande valeur d’un champ sélectionné.

SELECT MIN (ou MAX) (champ sur lequel porte la fonction) AS [Nom du champ calculé]
SYNTAXE FROM table(s) contenant les champs
…;

On souhaite connaître le prix le plus cher ; la solution devra s’appeler « Prix le plus cher » :

EXEMPLE SELECT MAX (Prixunit) AS [Prix le plus cher]


FROM T_Articles ;

3. Les clauses de regroupement

Les clauses de regroupement viennent en complément des fonctions d’agrégat.

† La Clause « GROUP BY »

Clause permettant de faire porter les fonctions d’agrégat


DÉFINITION
sur des groupes d’enregistrements.

SELECT champ(s) de regroupement, FONCTION D’AGRÉGAT (champ) AS [Nom du champ calcu-


lé]
FROM table(s) contenant les champs
SYNTAXE WHERE critère de jointure et/ou condition de sélection
AND critère de jointure et/ou condition de sélection
GROUP BY champ(s) de regroupement ;

BTS CG1 - P7 - Chapitre 4


On souhaite connaître le nombre d’articles (champ nommé « Nombre d’articles ») par (nom
de) catégorie :

SELECT Nomcat, COUNT (Numart) AS [Nombre d’articles] Après les instructions SELECT
EXEMPLE 1 et GROUP BY, on retrouve
FROM T_Articles, T_Catégories
WHERE T_Articles.Codecat = T_Caté[Link] obligatoirement le même
GROUP BY Nomcat ; champ.

On souhaite connaître la quantité totale des articles commandés (champ nommé « Quanti-
té commandée le 14/09/2024 ») par client (numéro et nom) le 14/09/2023 :

SELECT T_Clients.Numcli, Nomcli, SUM (Quantité) AS [Quantité commandée le 14/09/2024]


FROM T_Clients, T_Commandes, T_Concerner
EXEMPLE 2 WHERE T_Clients.Numcli = T_Commandes.Numcli
AND T_Commandes.NumBC = T_Concerner.NumBC
AND DateBC = #14/09/2022#
GROUP BY T_Clients.Numcli, Nomcli ;

† La Clause « HAVING »

Clause venant après la clause GROUP BY ; elle permet de sélectionner


DÉFINITION certains des enregistrements obtenus après le regroupement
en appliquant une restriction sur les groupes d’enregistrements.

SELECT champ(s) de regroupement, FONCTION D’AGRÉGAT (champ) AS [Nom du champ calculé]


FROM table(s) contenant les champs
SYNTAXE WHERE critère de jointure et/ou condition de sélection
AND critère de jointure et/ou condition de sélection
GROUP BY champ(s) de regroupement
HAVING FONCTION D’AGRÉGAT condition de sélection sur les groupes d’enregistrements ;

On souhaite connaître le nom des catégories et le nombre d’articles (champ nommé « Caté-
gories mineures ») qu’elles comportent pour celles qui comptent moins de 4 articles

SELECT Nomcat, COUNT (Numart) AS [Catégories mineures]


EXEMPLE 1 FROM T_Articles, T_Catégories
WHERE T_Articles.Codecat = T_Caté[Link]
GROUP BY Nomcat
HAVING COUNT (Numart) < 4 ;

BTS CG1 - P7 - Chapitre 4


On souhaite connaître la liste des clients (numéro et nom) dont la quantité totale des ar -
ticles commandés le 14/09/2024 est supérieure à 5 (champ nommé « Commandes priori-
taires ») :

SELECT T_Clients.Numcli, Nomcli, SUM (Quantité) AS [Commandes prioritaires]


FROM T_Clients, T_Factures, T_Facturer
EXEMPLE 2
WHERE T_Clients.Numcli = T_Factures.Numcli
AND T_Factures.NumFac = T_Facturer.NumFac
AND DateFac = #14/09/2024#
GROUP BY T_Clients.Numcli, Nomcli
HAVING SUM (Quantité) > 5 ;

BTS CG1 - P7 - Chapitre 4

Vous aimerez peut-être aussi