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:

entrer la description de l'image 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 .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow