ms-access
Accès SQL
Recherche…
Introduction à Access SQL
Lorsque vous utilisez Access, vous pouvez récupérer des données à l'aide de requêtes. Ces requêtes sont créées à l'aide du langage SQL (Structured Query Language). Comprendre SQL est important car il peut aider à créer de meilleures requêtes plus utiles.
Lors de la création de requêtes dans Access, vous pouvez basculer vers "Vue SQL". Un exemple de requête "select" est affiché ici:
Union (Merge) Requêtes
Si vous souhaitez combiner les résultats de plusieurs tables ou requêtes avec des champs similaires en un seul ensemble de données résultant sans effectuer de jointures relationnelles (c.-à-d. Que vous souhaitez répertorier un jeu de données immédiatement après), vous utiliserez une requête UNION . Cependant, il est à noter que ces requêtes doivent être créées manuellement dans la vue SQL.
La syntaxe d'une requête UNION est
SELECT
floatingpoint_field AS floatptfld,
text_field
FROM first_table
UNION
SELECT
integer_field,
decimal_field
FROM a_saved_query
UNION
SELECT
1.0,
"hi there Jack"
et renverra un jeu de données à deux champs avec des noms de champs (colonnes): floatptfld et text_field
Il est essentiel que les types de données (et les styles de données) des champs de tables fusionnées ultérieurement soient compatibles avec la première requête de la série. En d'autres termes, si la première requête SELECT génère un nombre pour la première colonne, la deuxième requête doit également renvoyer un nombre dans la première colonne. En plus de faire correspondre les types de champs dans l'ordre, les SELECT doivent renvoyer le même nombre de champs. Les noms des champs de la fiche technique résultante sont hérités de la première définition de la table.
La requête suivante ne serait PAS légale, car le texte ne peut pas être converti en données décimales et les nombres à virgule flottante ne peuvent pas être convertis en nombres entiers (sans troncature explicite ou arrondi et sans transtypage).
SELECT
integer_field AS this_really_wont_turn_out_well,
decimal_field
FROM a_saved_query
UNION
SELECT
floatingpoint_field,
text_field
FROM first_table
La fonction COUNT ()
Vous pouvez utiliser la fonction COUNT () pour renvoyer le nombre d'enregistrements correspondant à une requête. Le tableau «Employé» suivant contient les numéros d'identification des employés et le numéro d'identification de leur responsable associé.
| Employee_ID | Manager_ID |
|---|---|
| 12 | 37 |
| 22 | 37 |
| 37 | 63 |
| 42 | 45 |
| 45 | 63 |
| 57 | 45 |
| 59 | 45 |
| 63 |
Une instruction COUNT () peut être utilisée pour déterminer combien d'employés ont un responsable spécifique:
SELECT COUNT(*) AS CNT FROM Employees WHERE Employee.Manager_ID = 37;
résultats
| CNT |
|---|
2
La fonction peut également être combinée dans des requêtes plus complexes. Pour savoir combien d'employés sont directement supervisés par une personne spécifique, les éléments suivants peuvent être appliqués:
SELECT T1.Employee_ID,
(SELECT COUNT(*) AS CNT FROM Employees AS T2 WHERE T2.Manager_ID =
T1.Employee_ID) AS Supervised_Count
FROM Employees AS T1;
résultats:
| Employee_ID | Compte supervisé |
|---|---|
| 12 | 0 |
| 22 | 0 |
| 37 | 2 |
| 42 | 0 |
| 45 | 3 |
| 57 | 0 |
| 59 | 0 |
| 63 | 2 |
La documentation MSDN peut être trouvée ici .
