Requêtes sql

Je voulais partager avec vous tout ce que nous avons appris lors de notre initiation aux bases de données, notamment en ce qui concerne l'utilisation d'Access et la création de formulaires.

Requêtes SQL :
Nous avons étudié un ensemble de requêtes SQL de base pour interroger et manipuler des données dans une base de données relationnelle. Cela inclut des opérations telles que la sélection, le filtrage, le tri et les jointures entre différentes tables.

Gestion dans Access :
Nous avons exploré l'interface d'Access et appris à créer des bases de données, des tables, des requêtes, des formulaires et des rapports. Cette partie pratique nous a permis de mieux comprendre comment organiser et gérer efficacement les données.

Réalisation de formulaires :
Une partie importante de notre apprentissage a été la création de formulaires conviviaux pour saisir et afficher les données. Nous avons appris à personnaliser les formulaires pour répondre aux besoins spécifiques de l'utilisateur final.

Dans l'ensemble, cette initiation nous a donné une solide compréhension des bases de données et de leur utilisation dans un environnement pratique. J'ai particulièrement apprécié la possibilité de travailler avec Access et de développer des compétences concrètes dans la création de bases de données et de formulaires.

N'hésitez pas à me faire part de vos questions ou de vos expériences avec les bases de données. Je serais ravi d'en discuter davantage.

Requête 1 : Sélection des personnes avec nom "Alain", "Anna", ou "Claire" et date de naissance antérieure au 1er janvier 2000 :

SELECT Per_nom, Per_Prenom, Per_naissance
FROM T_Personne
WHERE (Per_nom = "Alain" OR Per_nom = "Anna" OR Per_nom = "Claire") AND Per_naissance < #1/1/2000#;

Requête 2 : Version simplifiée de la requête précédente avec l'utilisation de `IN` :

SELECT Per_nom, Per_Prenom, Per_naissance
FROM T_Personne
WHERE Per_nom IN ("Alain", "Anna", "Claire") AND Per_naissance < #1/1/2000#;

Requête 3 : Sélection des personnes nées avant le 1er janvier 2000 :

SELECT Per_nom, Per_Prenom, Per_naissance
FROM T_Personne
WHERE Per_naissance < #1/1/2000#;

Requête 4 : Sélection des personnes nées entre le 1er janvier 1980 et le 1er janvier 2000 :

SELECT Per_nom, Per_Prenom, Per_naissance
FROM T_Personne
WHERE Per_naissance > #1/1/1980# AND Per_naissance <= #1/1/2000#;

Requête 5 : Sélection des personnes nées entre le 1er janvier 1980 et le 1er janvier 2000 (alternative avec BETWEEN) :

SELECT Per_nom, Per_Prenom, Per_naissance
FROM T_Personne
WHERE Per_naissance BETWEEN #1/1/1980# AND #1/1/2000#;

Requête 6 : Sélection des personnes dont le prénom commence par "h" :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE Per_nom LIKE "h*";

Requête 7 : Sélection des personnes dont le prénom commence par deux caractères, suivis par "u" et n'importe quel autre caractère :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE per_prenom LIKE "??u*";

Requête 8 : Sélection des personnes dont le prénom contient "ou" :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE per_prenom LIKE "*ou*";

Requête 9 : Sélection des personnes dont le prénom ne commence pas par deux caractères suivis de "u" :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE Per_Prenom NOT LIKE "??u*";

Requête 10 : Sélection des personnes nées entre le 1er janvier 1969 et le 31 décembre 1969 :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE Per_naissance BETWEEN #1/1/1969# AND #31/12/1969#;

Requête 11 : Sélection des personnes nées entre le 1er janvier 1969 et le 31 décembre 1969 avec tri par prénom croissant :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE Per_naissance BETWEEN #1/1/1969# AND #31/12/1969#
ORDER BY Per_prenom ASC;

Requête 12 : Sélection des personnes nées entre le 1er janvier 1969 et le 31 décembre 1969 avec tri par prénom décroissant :

SELECT Per_nom AS nom, Per_Prenom AS Prénom, Per_naissance AS "Date de naissance"
FROM T_Personne
WHERE Per_naissance BETWEEN #1/1/1969# AND #31/12/1969#
ORDER BY Per_prenom DESC;

Requête 13 : Sélection du nom complet (prénom + nom) des personnes :

SELECT per_prenom + " " + per_nom AS [nom prenom]
FROM t_personne;

Requête 14 : Extraction des 5 premiers caractères du prénom avec tri par prénom, puis par nom :

SELECT LEFT(per_prenom, 5) AS Prenom
FROM t_personne
ORDER BY per_prenom, per_nom ASC;

Requête 15 : Extraction de la sous-chaîne du 2e au 6e caractère du prénom avec tri par prénom, puis par nom :

SELECT MID(per_prenom, 2, 5) AS Prenom
FROM t_personne
ORDER BY per_prenom, per_nom ASC;

Requête 16 : Extraction des deux derniers caractères des 5 premiers caractères du prénom avec tri par prénom, puis par nom :

SELECT RIGHT(LEFT(per_prenom, 5), 2) AS Prenom
FROM t_personne
ORDER BY per_prenom, per_nom ASC;

Requête 17 : Conversion du nom en majuscules et minuscules avec filtre sur les prénoms commençant par "P" :

SELECT UCASE(per_nom) AS nom, LCASE(per_nom) AS Prenom
FROM t_personne
WHERE per_prenom LIKE "P*"
ORDER BY per_prenom, per_nom ASC;

Requête 18 : Conversion du nom en majuscules et prénom en minuscules avec filtre sur les prénoms contenant "q" :

SELECT UCASE(per_nom) AS nom, LCASE(per_prenom) AS Prenom
FROM t_personne
WHERE per_prenom LIKE "*q*"
ORDER BY per_prenom, per_nom ASC;

Requête 19 : Conversion du nom en majuscules et prénom en minuscules avec filtre sur les prénoms contenant "[" :

SELECT UCASE(per_nom) AS nom, LCASE(per_prenom) AS Prenom
FROM t_personne
WHERE per_prenom LIKE "*[*]*"
ORDER BY per_prenom, per_nom ASC;

Requête 20 : Sélection du nom, du prénom, de la longueur du prénom et de la date de naissance :

SELECT UCASE(per_nom) AS nom, per_prenom AS Prenom, LEN(per_prenom) AS Nombre
FROM t_personne
ORDER BY per_prenom, per_nom ASC;

Requête 21 : Sélection du nom, du prénom, de la longueur du prénom, de la date de naissance pour les personnes nées en 1969 :

SELECT UCASE(per_nom) AS nom, per_prenom AS Prenom, LEN(per_prenom) AS Nombre, per_naissance
FROM t_personne
WHERE YEAR(per_naissance) = 1969
ORDER BY per_prenom, per_nom ASC;

Requête 22 : Sélection du nom, du prénom, de la longueur du prénom, de la date de naissance pour les personnes nées en novembre :

SELECT UCASE(per_nom) AS nom, per_prenom AS Prenom, LEN(per_prenom) AS Nombre, per_naissance
FROM t_personne
WHERE MONTH(per_naissance) = 11
ORDER BY DAY(per_naissance) ASC;

Requête 23 : Sélection du nom, du prénom, de la date de naissance pour les personnes nées le même mois que la date actuelle :

SELECT UCASE(per_nom) AS nom, per_prenom AS Prenom, per_naissance
FROM t_personne
WHERE MONTH(per_naissance) = MONTH(DATE())
ORDER BY DAY(per_naissance) ASC;

Requête 24 : Sélection du nom, du prénom, de la date de naissance pour les personnes nées le même mois que la date actuelle (utilisant NOW()) :

SELECT UCASE(per_nom) AS nom, per_prenom AS Prenom, per_naissance
FROM t_personne
WHERE MONTH(per_naissance) = MONTH(NOW())
ORDER BY DAY(per_naissance) ASC;

Requête 25 : Sélection du nom, du prénom, de la date de naissance, et calcul de l'âge pour les personnes nées le même mois que la date actuelle :

SELECT UCASE(per_nom) AS nom, per_prenom AS Prenom, per_naissance, YEAR(DATE()) - YEAR(per_naissance) AS Age
FROM t_personne
WHERE MONTH(per_naissance) = MONTH(DATE())
ORDER BY DAY(per_naissance) ASC;

Requête 26 : Sélection de la date d'hier :

SELECT DATE() - 1 AS hier;

Requête 27 : Sélection du numéro du jour de la semaine pour la date actuelle plus un jour (dimanche = 1) :

SELECT WEEKDAY(DATE() + 1) AS dimanche;

Requête 28 : Sélection du dimanche de la semaine actuelle :

SELECT DATE() - WEEKDAY(DATE()) + 1 AS dimanche;

Requête 29 : Sélection du dimanche de la semaine actuelle (alternative avec le paramètre de début de semaine le lundi) :

SELECT DATE() - WEEKDAY(DATE(), 2) AS dimanche;

Requête 30 : Jointure entre les tables `t_personne` et `t_etat_civil` sur l'ID de l'état civil :

SELECT per_prenom AS Prenom, per_nom AS Nom, eta_civil AS [Etat-civil]
FROM t_Personne, t_etat_civil
WHERE t_personne.per_eta_id = t_etat_civil.eta_id;

Requête 31 : Jointure interne entre les tables `t_personne` et `t_etat_civil` sur l'ID de l'état civil avec tri par prénom :

SELECT per_prenom AS Prenom, per_nom AS Nom, eta_civil AS [Etat-civil]
FROM t_Personne
INNER JOIN T_Etat_Civil ON t_personne.per_eta_id = t_etat_civil.eta_id
ORDER BY per_prenom;

Requête 32 : Jointure externe gauche entre les tables `t_personne` et `t_etat_civil` sur l'ID de l'état civil avec tri par prénom :

SELECT per_prenom AS Prenom, per_nom AS Nom, eta_civil AS [Etat-civil]
FROM t_Personne
LEFT JOIN T_Etat_Civil ON t_personne.per_eta_id = t_etat_civil.eta_id
ORDER BY per_prenom;

Requête 33 : Jointure externe gauche entre les tables `t_personne` et `t_etat_civil` sur l'ID de l'état civil avec tri par prénom (alternative avec "LEFT OUTER JOIN") :

SELECT per_prenom AS Prenom, per_nom AS Nom, eta_civil AS [Etat-civil]
FROM t_Personne
LEFT OUTER JOIN T_Etat_Civil ON t_personne.per_eta_id = t_etat_civil.eta_id
ORDER BY per_prenom;

Requête 34 : Jointure entre les tables `t_localite` et `t_personne` sur l'ID de la localité avec tri par prénom :

SELECT per_prenom AS Prenom, per_nom AS Nom, loc_cp AS [code postale], loc_localite AS localité
FROM t_localite
INNER JOIN t_personne ON (t_personne.per_loc_id = t_localite.loc_id)
ORDER BY per_prenom;

Requête 35 : Mise à jour de la colonne `loc_pay_id` de la table `t_localite` avec la valeur 24 :

UPDATE t_localite
SET loc_pay_id = 24;

Catégorie

Base de donnée

Sous-catégorie

SQL

Publier

25-02-24

Auteur

Olivier

Aucun commentaire validé trouvé pour cet article.

Ajouter un commentaire

Ce site utilise des cookies pour améliorer l'expérience utilisateur et collecter des statistiques à l'aide de Google Analytics.