Laini Hyacinthe 2 e NSSE Access Les requêtes Laini Hyacinthe 2 e NSSE Plan 1.Quelques...

Preview:

Citation preview

Laini Hyacinthe 2e NSSE

Access

Les requêtes

Laini Hyacinthe 2e NSSE

Plan

1. Quelques définitions2. À quoi servent les requêtes3. La projection 4. Exercice (1.1.)

1. Réponse2. Finalité3. SQL

5. Exercice (1.2.)1. Réponse2. Finalité3. SQL

Laini Hyacinthe 2e NSSE

6. Projection

7. Exercice (2.1.)1. Réponse

2. Finalité

3. SQL

4. SQL bonus

5. Réponse SQL bonus

8. Exercice (2.2.)1. Réponse

2. Finalité

3. SQL

9. Critères1. Critères/opérateurs

2. Autres

Laini Hyacinthe 2e NSSE

10. Exercice (3.1)1. Réponse

2. Finalité

3. SQL

11. Exercice (3.2.)1. Réponse

2. Finalité

3. SQL

12. Jointure1. Exercice (4.1)

2. Finalité

3. SQL

13. Doublons1. Exercice

Laini Hyacinthe 2e NSSE

14.Exercice récapitulatifs1. Exercice (5.1)

2. Réponse

3. Finalité

4. SQL

5. Exercice (5.2)

6. Finalité

7. SQL

Laini Hyacinthe 2e NSSE

Quelques définitions

• Les 3 fonctions d’une requête:– La sélection simple ou projectionprojection permet de réaliser les vues

précitées ;  – La sélectionsélection est l'outil de recherche. Cette requête est dotée de

deux perfectionnements importants (la jointure et le regroupement) ;  

– Les opérations ensemblistesopérations ensemblistes Elles permettent de regrouper dans une même table des enregistrements provenant de deux tables différentes ;  

– L'analyse croisée est une spécificité d'Access. Comme son nom l'indique, c'est un outil d'analyse qui permet, sous certaines conditions, de réorganiser complètement une table.

Plan

Laini Hyacinthe 2e NSSE

À quoi servent les requêtes ?

• La réalisation de vues Pour appréhender, en partie ou en totalité, le contenu de la base, il faut rassembler les données utiles dans une seule table, que l'utilisateur peut consulter directement ou via un formulaire. Pour ce faire, on sélectionne des colonnes dans différentes tables, et on met les lignes en correspondance grâce aux relations ;

• La maintenance de la BDD.

• La recherche d'information dans la BDD.

Plan

Laini Hyacinthe 2e NSSE

1.la projection

• 1.1. Exercice

- Tu dois faire l’inventaire de tous les livres de la bibliothèque. Il ne te faut donc que la liste des livres.

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

• 1.2. Exercice

– Reprend la même requête mais trie-la par ordre alphabétique pour pouvoir trouver plus vite le titre des livres.

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

2. La sélection

• 2.1. ExerciceTon patron te demande la liste des livres par

auteur. Tu as toujours besoin d’une seule table mais de plusieurs enregistrements dans ta requête.

Réponse Finalité SQL

SQL bonus Réponse SQL bonus

Plan

Laini Hyacinthe 2e NSSE

• 2.2. Exercice

• Tu dois joindre tous les éditeurs pour leur demander de t’envoyer un exemplaire de leurs derniers livres pour mettre ta bibliothèque à jour.

Maintenant que tu es un pro, tu dois réussir sans aucunes indications.

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

Compliquons le tout

• Cela te parait trop simple, nous allons donc augmenter les difficultés en ajoutant les critères.

• Mais qu’est ce qu’un critère?

On peut dire que cela sert à affiner ta recherche. Pour plus d’informations clique sur le lien suivant.

Critères

Plan

Laini Hyacinthe 2e NSSE

Quelques critères/opérateurs

• Entre cardinaux : utilisés pour les dates• Les guillemets : recherche d’une chaîne de caractères

exacts.• Les astérisques : peuvent être placées n'importe où, et

non pas seulement en début ou en fin de chaîne. Elles permettent de rechercher sans connaître l’expression exacte.

• Le point d’interrogation : implique la présence d'un seul caractère.

• Voici pour les plus courants mais il en existe bien d’autres.

Plan

Laini Hyacinthe 2e NSSE

Autres opérateurs• Les arithmétiquesIls s'appliquent aux données numériques et monétaires,

mais aussi aux dates.= (égal), < (inférieur), <= (inférieur ou égal), > (supérieur), >= (supérieur ou égal), <> (différent).

Voilà pour les plus généraux, nous verrons les autres par la suite.

Plan

Laini Hyacinthe 2e NSSE

3. Projection

• 3.1. Exercice

• Tu as besoin de tous les livres écrits par ROBA. Tu vas devoir te servir d’un critère, mais lequel?

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

• 3.2. Exercice

• Un lecteur voudrait connaître tous les livres écrits le jour de sa naissance

(le 01/04/1975) .

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

Les jointures

• 4.1.Exercice

• Tu as besoin de savoir quel auteur travaille avec quel éditeur.

Il te faudra donc les deux tables.Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

Exercices récapitulatifs

• 5.1. Exercice

• Tu as besoin de connaître le premier livre publié par chaque auteur.

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

• 5.2. Exercice

• Tu as besoin des titres des livres de la famille informatique.

Réponse Finalité SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse exercice 1.1.1.

2.Tu as juste besoin de la table qui contient les adresses, donc la table média.

3. Dans la partie champs, tu dois rentrer le champ dont tu as besoin donc titre.

4. Tu obtiens:

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Réponse 1.1. finalité

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 1.1. SQL

• SELECT Medias.Titre

• FROM Medias;

Attention, en langage SQL on finit toujours par

un « ; »

Plan

Laini Hyacinthe 2e NSSE

Très bien !!!

Tu as réussi ta première requête,

C’était la plus simple, maintenant attaquons-nous à plus difficile !!!

Laini Hyacinthe 2e NSSE

Réponse exercice 1.2.1.2.3.Les trois premières parties pour créer une requête sont les

mêmes.4. Dans la partie tri, tu dois choisir croissant.

5. Tu obtiens:

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Réponse 1.2. finalité

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 1.2. SQL

• Tu avais:– SELECT Medias.Titre– FROM Medias;

• Tu as:– SELECT Medias.Titre– FROM Medias– ORDER BY

Medias.Titre;

Mais qu’est-ce qui a changé?

Plan

Laini Hyacinthe 2e NSSE

Bravo !!!

• Hé Voila 2 requêtes faites en quelques minutes.

Laini Hyacinthe 2e NSSE

Réponse exercice 2.1.1. La première étape reste la même pour toutes les requêtes.

2.Tu as juste besoin de la table qui contient les titres et les auteurs donc la table médias

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc titre et auteur.4. Tu obtiens:

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Réponse 2.1. finalité

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 2.1. SQL

• À la première requête, tu avais:– SELECT Medias.Titre– FROM Medias;

• Maintenant tu as:– SELECT Medias.Titre,

Medias.Auteur– FROM Medias;

Mais qu’est-ce qui a changé?

Question bonus

Plan

Laini Hyacinthe 2e NSSE

Question bonus 2.1.

• Si tu ajoutes le tri des livres par ordre alphabétique en SQL, que vas-tu obtenir?

Réponse

Plan

Laini Hyacinthe 2e NSSE

Réponse bonus 2.1.

• Tu avais:– SELECT Medias.Titre,

Medias.Auteur– FROM Medias;

• Tu as:– SELECT Medias.Titre,

Medias.Auteur– FROM Medias– ORDER BY

Medias.Titre;

Mais qu’est-ce qui a changé?

Plan

Laini Hyacinthe 2e NSSE

Magnifique !!!

• Tu vas être un pro des requêtes.

Laini Hyacinthe 2e NSSE

Réponse exercice 2.2.1. La première étape reste la même pour toutes les requêtes.2.Tu as juste besoin de la table qui contient les numéros de téléphone et les auteurs donc la table éditeur

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc titre et auteur.

4. Tu obtiens:

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

2.2. Finalité

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 2.2. SQL

• Tu avais:– SELECT Medias.Titre,

Medias.Auteur– FROM Medias;

• Tu as:– SELECT

Editeurs.Editeur, Editeurs.Telephone

– FROM Editeurs;

Mais qu’est-ce qui a changé?

La table

Plan

Laini Hyacinthe 2e NSSE

Whaou !!!

• Quel bout de chemin parcouru.

Laini Hyacinthe 2e NSSE

Réponse exercice 3.1.1. La première étape reste la même pour toutes les requêtes.2.Tu as juste besoin de la table qui contient les titres et les auteurs donc la table média.

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc titre et auteur.

5. Tu obtiens:

4. Dans la partie critères, tu dois mettre des guillemets de chaque coté de ROBA pour pouvoir obtenir que les titres de ROBA.

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Finalité

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 3.1. SQL

• Tu te souviens de ta première requête?– SELECT Medias.Titre– FROM Medias;

• Observe celle-ci:– SELECT Medias.Titre,

Medias.Auteur– FROM Medias– WHERE

(((Medias.Auteur)="roba"));

Mais qu’est-ce qui a changé?

Le select (ce dont tu as besoin)Le where (critère)

-

Plan

Laini Hyacinthe 2e NSSE

Impressionnant

• Alors tu n’y croyais pas je parie.

Laini Hyacinthe 2e NSSE

Réponse exercice 3.2.1. La première étape reste la même pour toutes les requêtes.

2.Tu as juste besoin de la table qui contient les titres et les dates donc la table médias.

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc titre et date.

5. Tu obtiens:

4. Dans la partie critères, tu dois mettre des cardinaux de chaque coté de la date pour pouvoir obtenir la date recherchée

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Finalité

Hé oui, il n’y en a qu’un

seul

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 3.2. SQL

• Pour une date:– SELECT

Medias.Titre, Medias.Date

– FROM Medias– WHERE

(((Medias.Date)=#4/1/1975#));

• Pour une chaîne de caractères:– SELECT Medias.Titre,

Medias.Auteur– FROM Medias– WHERE

(((Medias.Auteur)="roba"));

Ne pas oublier

Plan

Laini Hyacinthe 2e NSSE

Excellent !!!

• Voila tu connais une option de plus d’Access

Encore un petit effort !!!

Laini Hyacinthe 2e NSSE

Réponse exercice 4.1.1. La première étape reste la même pour toutes les requêtes.

2.Tu as juste besoin des deux tables donc la table médias et la table éditeurs.

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc auteur et éditeur.

4. Tu obtiens:

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Finalité

Doublons

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 4.1. SQL

• SELECT Medias.Auteur, Editeurs.Editeur

• FROM Editeurs, Medias;

Plan

Laini Hyacinthe 2e NSSE

Doublons

Cela ne te sert à rien de voir tous les auteurs, il existe donc un moyen de supprimer les doublons.

Il te suffit de:- cliquer sur en mode création- choisir regroupement dans l’option opération (par défaut).

En SQL il faut noter DISTINCT derrière select.

Plan

Laini Hyacinthe 2e NSSE

Cela donne• Avant: • Après:

Plan

Laini Hyacinthe 2e NSSE

Très très bien

• Sur un seul exercice tu as appris à faire des jointures et à supprimer les doublons.

Laini Hyacinthe 2e NSSE

Réponse exercice 5.1.1. La première étape reste la même pour toutes les requêtes.2.Tu as juste besoin des deux tables donc la table média et la table éditeur.

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc date et éditeur.

5. Tu obtiens:

SQLFinalité

Plan

Laini Hyacinthe 2e NSSE

Finalité

SQL

Plan

Laini Hyacinthe 2e NSSE

Réponse 5.1. SQL• SELECT Editeurs.Editeur,

Min(Medias.Date) AS MinDeDate

• FROM Editeurs, Medias

• GROUP BY Editeurs.Editeur

• ORDER BY Editeurs.Editeur;

Association

Plan

Laini Hyacinthe 2e NSSE

Impréssionant

• Tu sais en faire des choses.

Laini Hyacinthe 2e NSSE

Réponse exercice 5.2.

1. La première étape reste la même pour toutes les requêtes.

2.Tu as juste besoin d’une seule table donc la table médias.

3. Dans la partie champ, tu dois rentrer les champs dont tu as besoin donc famille et titre.

5. Tu obtiens:

Plan

SQLFinalité

Laini Hyacinthe 2e NSSE

FinalitéPlan

SQL

Laini Hyacinthe 2e NSSE

Réponse 5.2. SQL

SELECT Medias.Famille, Medias.Titre

FROM Editeurs, Medias

WHERE (((Medias.Famille) Like "*informatique*"));

Plan

Laini Hyacinthe 2e NSSE

Félicitation

Recommended