# Introduction aux bases de données avec BASE/Les requêtes
## Création de requêtes en mode ébauche

Dans la fenêtre des objets Base, sélectionner l’objet Requête puis, prendre l’option requête en mode ébauche qui vous guide dans les opérations à effectuer :
* Sélection des tables à lire
* Sélection et ordonnancement des champs par glisser déposer
* Renommage des champs (alias)
* Choix des champs de tri
* Choix de visibilité des champs
* Choix des fonctions à appliquer
* Choix des conditions de recherche (restrictions)
Modifier les requêtes en mode ébauche permet :
* De rajouter ou d’ôter des champs dans la requête
* De déplacer des champs dans la requête
* D’insérer des champs calculés
* De sélectionner d'autres enregistrements

## Création de requêtes en mode assistant

Dans la fenêtre des objets Base, sélectionner l’objet Requête puis, prendre l’option création par l’assistant qui vous guide dans les opérations à effectuer :
( c’est une méthode complexe et assez longue )
* Choix des tables à lire
* Sélection et ordonnancement des champs
* Choix des champs et des ordres de tri
* Choix des conditions de recherche (restrictions)
* Choix des détails ou des résumés
* Choix des champs permettant de grouper les enregistrements
* Choix des conditions de groupement (restrictions)
* Choix des alias
Modifier les requêtes en mode assistant permet :
* De rajouter ou d’ôter des champs dans la requête
* De déplacer des champs dans la requête
* D’insérer des champs calculés
* De sélectionner des enregistrements

## Création de requêtes en mode SQL

Toutes les requêtes en mode graphique peuvent être traduites en langage SQL. SQL est un langage qui libère le programmeur de la spécification des chemins d’accès aux données. L’optimisation des requêtes de manipulation des données (DML) est entièrement confiée au SGBD.

### Les ordres de sélection

* "SELECT" permet de choisir les champs à afficher
* DISTINCT permet d’éviter les doublons
* "UNION" permet l’union de 2 ensembles A et B est un concept qui consiste à obtenir tous les éléments qui correspondent à la fois à l’ensemble A ou à l’ensemble B. ( tout en évitant les doublons )
* "WHERE" permet d’éliminer des enregistrements ( on peut ajouter d’autre restriction avec "AND", "OR", "BETWEEN", "LIKE" )
* La clause ORDER BY permet de trier des enregistrements
* La clause GROUP BY permet de grouper des enregistrements
La commande GROUP BY est utilisée en SQL pour grouper plusieurs résultats et utiliser une fonction de totaux sur un groupe de résultat. Sur une table qui contient toutes les ventes d’un magasin, il est par exemple possible de liste regrouper les ventes par clients identiques et d’obtenir le coût total des achats pour chaque client.

### Les ordres de modification

3 possibilités : mettre à jour, insérer ou supprimer des lignes de données
* INSERT INTO
Pour insérer des données dans une base, il y a 2 syntaxes principales :
Insérer une ligne en indiquant les informations pour chaque colonne existante (en respectant l’ordre)
Insérer une ligne en spécifiant les colonnes que vous souhaiter compléter.
Il est possible d’ajouter plusieurs lignes à un tableau avec une seule requête. Pour ce faire, il convient d’utiliser la syntaxe suivante :
* UPDATE
La commande UPDATE permet d’effectuer des modifications sur des lignes existantes Il est impérative d’utiliser "WHERE" pour spécifier sur quelles lignes doivent porter la ou les modifications. Sinon toute la table va être modifiée !
* DELETE
La commande DELETE en SQL permet de supprimer des lignes dans une table. Il est impérative d’utiliser "WHERE" pour supprimer les lignes concernées !

## Création de requêtes avec champ calculé

( Les Fonctions d’agrégation )
* SQL SUM :
Dans le langage SQL, la fonction d’agrégation SUM permet de calculer la somme totale d’une colonne contenant des valeurs numériques. Cette fonction ne fonction que sur des colonnes de types numériques (INT, FLOAT …) et n’additionne pas les valeurs NULL.
( le prix total des lots )
Il est possible de filtrer les enregistrements avec la commande WHERE pour ne calculer la somme que des éléments souhaités.
( le prix de la commande 5 )
* SQL AVG
La fonction d’agrégation AVG dans le langage SQL permet de calculer une valeur moyenne sur un ensemble d’enregistrement de type numérique et non nul.
( la moyenne des lots de chaque commande )
* SQL COUNT
En SQL, la fonction d’agrégation COUNT permet de compter le nombre d’enregistrement dans une table.
( nombre de lot par commande )

## Création de requêtes avec champ paramètre

Dans la fenêtre des objets BASE, sélectionner l’objet Requête puis, prendre l’option création en mode ébauche qui vous guide dans les opérations à effectuer :
* Insérer un champ paramétré dans une clause ==> taux = ?
* Construire graphiquement le reste de la requête
| Les tables | Les formulaires |