Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Base 7.1
  3. Requêtes
Extrait - Base 7.1 Le gestionnaire de bases de données de LibreOffice
Extraits du livre
Base 7.1 Le gestionnaire de bases de données de LibreOffice
9 avis
Revenir à la page d'achat du livre

Requêtes

Créer une requête monotable

Les requêtes monotables utilisent une seule table de votre base de données. Les requêtes permettent de filtrer et d’afficher des enregistrements selon un ou plusieurs critères ; elles peuvent être enregistrées et exécutées à tout moment : lorsque vous exécutez une requête, Base sélectionne automatiquement les enregistrements de la table source répondant aux critères posés. Une requête monotable peut être utilisée pour ajouter ou modifier des données, la modification sera automatiquement répercutée dans la table source.

Créer une requête en mode Ébauche

Il s’agit de créer une requête sans l’aide de l’assistant Requête.

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données.

 Cliquez sur le lien Créer une requête en mode Ébauche situé dans le volet Tâches ou utilisez la commande Insertion - Requête (mode Ébauche) ou ouvrez la liste associée à l’outil Formulaire images/i035.PNG et choisissez l’option Nouvelle requête (vue Ébauche).

La fenêtre d’une nouvelle requête s’affiche à l’écran et Base vous propose d’ajouter des tables par l’intermédiaire de la boîte de dialogue Ajouter une table ou une requête

images/501RB01N.PNG

 Pour ajouter une table, laissez active l’option Tables puis, sélectionnez la table à utiliser dans votre nouvelle requête et cliquez sur le bouton Ajouter.

Vous pouvez également double cliquer sur le nom de la table à ajouter.

 Cliquez sur le bouton Fermer de la boîte de dialogue Ajouter une table ou une requête

La partie supérieure de la fenêtre affiche la table source et la liste des champs de la table.

La partie inférieure, appelée grille d’interrogation, est réservée à la définition des critères. Il est possible de modifier la hauteur de chacune de ces deux parties en faisant glisser la barre horizontale qui les sépare.

 Insérez, dans la grille d’interrogation, les champs que vous souhaitez voir apparaître dans la feuille de données (résultat de la requête) : double cliquez sur chaque nom de champ à insérer ou faites-les glisser dans la première cellule vide de la ligne Champ de la grille d’interrogation.

Vous pouvez également cliquer dans la première cellule vide de la ligne Champ et sélectionner le nom du champ dans la liste correspondante.

images/501RB02N.PNG

Lorsqu’un champ est inséré dans la grille d’interrogation...

Créer une requête multitable

Il s’agit de créer une requête basée sur plusieurs tables (ou requêtes). Ces types de requêtes ne permettent pas ensuite de modifier les données affichées dans la requête. 

 Éventuellement, définissez les relations entre les tables à partir desquelles la nouvelle requête multitable doit être créée (cf. chapitre Relations entres les tables - Établir une relation entre plusieurs tables).

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données.

Sans l’aide de l’assistant

 Cliquez sur le lien Créer une requête en mode Ébauche situé dans le volet Tâches ou utilisez la commande Insertion - Requête (mode Ébauche) ou bien, ouvrez la liste associée à l’outil Formulaire images/i035.PNG et choisissez l’option Nouvelle requête (vue Ébauche).

 Choisissez l’option Tables ou Requêtes en fonction des objets sur lesquels doit être basée la requête.

La requête peut être basée à la fois sur des tables et des requêtes.

 Sélectionnez chacun des objets à ajouter à la requête et cliquez ensuite sur le bouton Ajouter.

Vous pouvez aussi double cliquer sur le nom des objets à ajouter.

 Cliquez sur le bouton Fermer de la boîte de dialogue Ajouter une table ou une requête

Si les tables ont été mises en relation dans la fenêtre Relations, elles sont maintenant reliées par une ligne de jointure. Si besoin, vous pouvez établir des relations spécifiques à la requête...

Exécuter une requête

Il existe deux techniques permettant d’afficher le résultat de la requête.

 À partir de la fenêtre de base de données, cliquez, si besoin, sur l’objet Requêtes puis double cliquez sur le nom de la requête à exécuter.

Vous pouvez aussi utiliser la commande Édition - Ouvrir un objet de base de données ou cliquer sur l’outil Ouvrir un objet de base de données images/i008.png de la barre d’outils Requête ou faire un clic droit sur le nom de la requête et sélectionner l’option Ouvrir.

Le résultat de la requête affiche, dans une feuille de données, les enregistrements de la table source répondant aux critères définis dans la requête. S’il s’agit d’une requête monotable, vous pouvez créer de nouveaux enregistrements, modifier et/ou supprimer des données. Les modifications seront automatiquement répercutées dans la table source.

images/501RB07N.PNG
Si vous avez apporté des modifications, cliquez sur l’outil Enregistrer images/i010.PNG et fermez, si besoin, la fenêtre en cliquant sur le bouton images/i006.PNG.

 À partir de la structure de la requête (mode Ébauche) : cliquez, si besoin, sur l’objet Requêtes puis faites un clic droit sur le nom de la requête à exécuter et sélectionnez...

Gérer la grille des requêtes

Gérer les objets : tables ou requêtes

La gestion des objets, tables ou requêtes, s’effectue dans la partie supérieure de la fenêtre.

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête concernée et sélectionnez l’option Éditer pour afficher sa structure.

 Pour insérer une table ou une requête supplémentaire, utilisez la commande Insertion - Ajouter une table ou une requête ou cliquez sur l’outil Ajouter une table ou une requête images/i058.PNG de la barre d’outils Ébauche ou appuyez sur la touche F7.

Double cliquez sur le nom de la table ou de la requête à insérer ou sélectionnez-la et cliquez sur le bouton Ajouter.

Cliquez ensuite sur le bouton Fermer.

 Pour déplacer une table, pointez sa barre de titre et faites-la glisser à l’endroit voulu.

 Pour supprimer une table, faites un clic droit sur sa barre de titre puis sélectionnez l’option Supprimer.

 Pour supprimer toutes les tables ou requêtes, utilisez la commande Édition - Effacer la requête ou cliquez sur l’outil Effacer la requête images/i064.PNG de la barre d’outils Ébauche...

Gérer les relations dans la structure d’une requête

Dans la structure de la requête, vous pouvez modifier les caractéristiques des relations existantes entre les tables ou en créer des nouvelles. Les relations créées dans la structure de la requête ne seront pas reprises dans la fenêtre des relations de la base de données active, elles ne seront donc effectives que pour la requête.

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête concernée et sélectionnez l’option Éditer pour afficher sa structure.

 Pour établir des relations spécifiques à la requête, faites glisser le champ commun de la table ou de la requête primaire vers le champ de la table ou de la requête à relier.

 Pour préciser les caractéristiques de la relation ou modifier les propriétés d’une relation existante, double cliquez sur la ligne de jointure.

 Dans la liste Type de champ, sélectionnez l’option correspondant au type de lien :

Jointure interne

Pour afficher uniquement les données correspondant aux champs liés si celles-ci sont identiques.

Jointure gauche

Pour afficher toutes les données de la table de gauche, et uniquement...

Définir les critères de la requête

Préciser un critère selon le type de champ

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête concernée et sélectionnez l’option Éditer pour afficher sa structure.

 Cliquez sur la ligne Critère de la colonne correspondant au champ sur lequel porte le critère.

 Précisez le critère en veillant à respecter les indications suivantes :

Type de champ

Principes

Exemples

Texte

Saisissez le texte comme il a été saisi dans la table.

Si le champ n’est pas de type VARCHAR_IGNORECASE, respectez les majuscules et minuscules utilisées dans la table.

Numérique

Saisissez la valeur sans aucune présentation.

1300,2

Date/Heure

Saisissez la date ou l’heure en utilisant un des formats ci-contre.

1/1/2008

1-jan-2008

11:25

Oui/Non

Saisissez +1 ou TRUE pour la valeur Oui

Saisissez +0 ou FALSE pour la valeur Non

Sur cet exemple, la requête affichera toutes les commandes réglées passées après le 1er janvier 2020. Après validation d’un critère de type Date, un dièse est automatiquement ajouté au début et à la fin de la valeur ; pour un critère de type Texte, c’est une apostrophe qui est ajoutée au début et à la fin du texte.

images/501RB10N.PNG

 Cliquez sur l’outil Exécuter la requête images/i061.PNG ou appuyez sur la touche F5 pour visualiser le résultat.

 Enregistrez les modifications apportées à la structure de la requête en cliquant sur l’outil Enregistrer images/i010.PNG.

 Fermez, si besoin, la requête en cliquant sur le bouton images/i006.PNG de la fenêtre.

Utiliser les opérateurs

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête concernée et sélectionnez l’option Éditer pour afficher sa structure.

 Cliquez sur la ligne Critère de la colonne correspondant au champ sur lequel porte le critère....

Créer une requête paramétrée

Une requête paramétrée permet, au moment d’exécuter la requête, d’afficher une boîte de dialogue dans laquelle vous saisirez le critère voulu. Les requêtes paramétrées sont utilisées lorsque les critères sont variables.

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête concernée et sélectionnez l’option Éditer pour afficher sa structure.

 Sur la ligne Critère, dans la colonne du champ sur lequel doit porter le critère, saisissez deux points (:) suivi du nom de la variable sans espace (elle apparaîtra dans la boîte de dialogue).

Sur cet exemple, la variable Nom_Auteur sera demandée avant d’afficher le résultat de la requête :

images/501RB16N.PNG

Vous pouvez préciser plusieurs critères de requête paramétrée. Si les critères doivent être vérifiés simultanément, saisissez-les sur la même ligne Critère ou, si l’un ou l’autre des critères doit être vérifié, saisissez-les sur des lignes différentes Ou.

Sur l’exemple suivant, l’utilisateur devra préciser le nom de l’auteur...

Insérer un champ calculé dans une requête

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête à laquelle vous souhaitez ajouter un champ calculé et sélectionnez l’option Éditer pour afficher sa structure.

 Cliquez dans la première cellule vide de la ligne Champ.

 Renseignez l’expression du calcul en saisissant, entre guillemets, le nom du ou des champ(s) à utiliser dans le calcul.

Si, dans l’expression du calcul, vous devez préciser une valeur avec décimales, utilisez le point comme séparateur de décimales.

 Saisissez, sur la ligne Alias, du champ calculé, le nom que vous souhaitez donner à la colonne. Dans le cas contraire, la colonne portera le nom de l’expression du calcul.

Sur cet exemple, la requête calculera le prix de vente TTC de chaque livre :

images/501RB19N.PNG

 Cliquez sur l’outil Exécuter la requête images/i061.PNG ou appuyez sur la touche F5 pour afficher le résultat.

images/501RB20N.PNG

 Enregistrez les modifications apportées à la structure de la requête en cliquant sur l’outil Enregistrer images/i010.PNG.

 Fermez, si besoin, la requête en cliquant sur le bouton images/i006.PNG de la fenêtre.

Réaliser un calcul statistique sans regroupement

Un calcul statistique peut porter sur tous les enregistrements ou seulement sur un groupe d’enregistrements, par exemple : le nombre total de livres dans la table Livres ou seulement le nombre de livres dont la catégorie est LITTERATURE.

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête à laquelle vous souhaitez ajouter un calcul statistique et sélectionnez l’option Éditer pour afficher sa structure.

 Dans la grille d’interrogation, ajoutez le(s) champ(s) sur lesquels le calcul doit s’effectuer.

La grille d’interrogation doit comporter uniquement les champs sur lesquels les calculs seront réalisés et ceux sur lesquels un critère sera posé.

 Cliquez ensuite sur la ligne Fonction dans la colonne du champ ajouté.

 Ouvrez la liste correspondante et sélectionnez le calcul statistique que vous souhaitez effectuer : Moyenne, Nombre, Maximum, Minimum ou Somme.

images/501RB21N.PNG

 Sur la ligne Alias, saisissez le nom que vous souhaitez donner à l’en-tête de la colonne qui s’affichera dans le résultat de la requête.

Lorsque cette information n’est pas renseignée, Base donnera comme nom par défaut...

Réaliser un calcul statistique avec regroupement

Il faut distinguer deux formes de calculs statistiques avec regroupement : le regroupement qui permet d’effectuer un calcul statistique en tenant compte de tous les enregistrements de la table ou d’une partie si des critères ont été définis et le regroupement qui permet d’afficher les enregistrements répondant au critère du résultat du calcul statistique. Par exemple, la requête peut afficher, par catégorie, la somme des prix dont le prix (par article) est supérieur à 50 ou elle peut afficher, par catégorie, la somme des prix lorsque cette somme est supérieure à 50.

Calcul statistique avec regroupement sur tous les enregistrements

 Dans la fenêtre de base de données, cliquez, si besoin, sur le type d’objets Requêtes dans le volet Base de données puis faites un clic droit sur le nom de la requête à laquelle vous souhaitez ajouter un calcul statistique avec regroupement et sélectionnez l’option Éditer pour afficher sa structure.

 Dans la grille d’interrogation, ajoutez le champ utilisé pour regrouper les enregistrements.

Seuls les champs utilisés pour le ou les calculs (y compris celui sur lequel sera basé le regroupement) et ceux utilisés pour la définition des critères...

Requêtes en mode SQL

Base propose de réaliser les requêtes grâce à une interface graphique (mode Ébauche vu précédemment) ou directement en langage SQL (Structured Query Language). L’utilisation du mode graphique reste néanmoins limitée à la réalisation de requêtes de type Sélection. Pour réaliser des requêtes destinées à modifier, supprimer ou ajouter des données, créer ou supprimer une table, vous devez utiliser le langage SQL.

Créer une requête de sélection en mode SQL

 Dans le volet Base de données, sélectionnez Requêtes puis cliquez sur le lien Créer une requête en mode SQL dans le volet Tâches.

 Si la requête créée ne doit pas être interprétée par Base (affichage de la requête en mode Ébauche), choisissez la commande Édition - Exécuter directement l’instruction SQL ou cliquez sur l’outil images/i068.PNG.

 Saisissez l’instruction SQL de la requête en utilisant uniquement l’opérateur SELECT (cf. Requêtes en mode SQL - Opérateurs utilisés dans les requêtes de sélection dans ce chapitre). Sur cet exemple, la requête affichera la sélection (SELECT) des champs Titre et Auteur de la table LIVRES :

images/501RB25N.PNG

 Exécutez la requête en choisissant la commande Édition - Exécuter la requête ou l’outil images/i061.PNG de la barre d’outils Ébauche de requête ou F5.

 Enregistrez la requête en utilisant la commande Fichier - Enregistrer ou l’outil images/i010.PNG ou Ctrl S. Saisissez le Nom la requête dans la zone correspondante et cliquez sur le bouton OK.

Créer une requête d’action en mode SQL

 Dans la fenêtre de base de données, utilisez la commande Outils - SQL et saisissez la Commande à exécuter dans la zone de saisie correspondante (cf. titres suivants).

Sur cet exemple, la requête créera une nouvelle table nommée Categories :

images/501RB26N.PNG

 Cliquez sur le bouton...