Comment faire des requêtes SQL sur des tables de BDD ?
Comme nous l’avons expliqué en introduisant SQL, la syntaxe est un ensemble de règles qui doivent être suivies lors de la combinaison des éléments d’un langage.
Nous vous montrons comment utiliser la syntaxe SQL pour faire des requêtes sur des tables de bases de données.
Qu’est-ce qu’une requête SQL ?
Une requête est un composant de certaines instructions SQL qui spécifie une information à extraire. Les requêtes peuvent exécuter diverses instructions dans une BDD. La fonction la plus courante consiste à récupérer des données spécifiques à partir de tables. Les données que vous souhaitez voir sont généralement réparties sur plusieurs tables et les requêtes vous permettent de les afficher dans une seule feuille de données.
Nous vous rappelons que dans une base de données les informations (Data) sont stockées dans des tables dont la structure de base doit être définie.
Décryptage :
La requête la plus simple est celle qui agrège toutes les données dans une table:
SELECT
Instruction qui identifie les champs affichés
FROM
Instruction qui précise dans quelle table se trouve l'information à laquelle se réfère la requête
SELECT nom_champ[,nom_champ,...] FROM nom de la table
or
SELECT nom_table.nom_champ[,nom_table.nom_champ,...] FROM nom de la table
Cette clause vous permet de spécifier les champs souhaités
SELECT * FROM nom_table
afficher tous les champs de la structure de la table : un astérisque (*) remplace la liste des champs.
La base de données
Une base de données est un ensemble d’informations organisées (Data), généralement dotées d’une interface user-friendly qui oriente les intervenants d’une entreprise ou une organisation. L’interface en question, strictement dépendante du type de structure de données de la BD, prend le nom de SGBD (Data Base Management System).
Nous prenons ici un exemple d’une base de données des étudiants:
SQL statement
SELECT * FROM Étudiants
SELECT Étudiants_ID, Nom de famille, Sexe des Étudiants
or
SELECT Étudiants.Étudiants_ID, Étudiants.Nom de famille, Étudiants.Sexe
FROM Étudiants
ORDER BY ... WHERE
ORDER BY field_name
établit l'affichage dans l'ordre croissant par rapport au champ indiqué
ORDER BY field_name DESC
établit l'affichage par ordre décroissant par rapport au champ indiqué
Il est possible de sélectionner un sous-ensemble d'enregistrements identifiables par un critère commun, basé sur le contenu d'un ou plusieurs champs, dans la structure de la table
WHERE field_name = Value
Or
WHERE ( nom_champ1 > Valeur1 ) AND ( nom_champ1 < Valeur2 )
WHERE ( field_name1 = Value1 ) OR ( field_name2 = Value2 )
WHERE ( nom_champ <> Valeur )
SELECT Nom, Prénom, Ville FROM Étudiants ORDER BY Prénom DESC
SELECT Étudiants_ID, Nom FROM Étudiants ORDER BY Nom
WHERE Ville = 'Lille'
SELECT permet d’extraire un sous-ensemble de champs de la table initiale, puis génère un ensemble de données, sorte de table” fictive composée de moins de colonnes que la table d’origine. Une opération de ce genre s’appelle Projection
WHERE permet d’extraire un sous-ensemble d’enregistrements de la table initiale, générant ainsi également une “table” fictive composée de moins de lignes que la table d’origine. Une telle opération s’appelle Sélection
Il est inutile de rappeler que sur les données d’un tableau. De même, il est possible d’effectuer ensemble les opérations de projection et de sélection.
Quelles sont les requêtes multi-tables ?
A la différence d’une requête simple, une requête multitable nous permet d’interroger des informations dans plusieurs tables.
Pour ce faire, vous devez spécifier dans la clause FROM quelles sont les tables que vous allez utiliser et comment vous allez les relier les unes aux autres.