Ricerca…


Introduzione ad Access SQL

Quando si utilizza Access è possibile recuperare i dati utilizzando le query. Queste query vengono create utilizzando Structured Query Language (SQL). La comprensione di SQL è importante perché può aiutare a creare query migliori e più utili.

Quando si creano query in Access, è possibile passare a "Visualizzazione SQL". Un esempio di una query "select" è mostrato qui:

inserisci la descrizione dell'immagine qui

Query Unione (Unisci)

Quando si desidera combinare insieme i risultati di più tabelle o query con campi simili in un singolo set di dati risultante senza eseguire join relazionali (ovvero si desidera elencare un set di dati immediatamente dopo l'altro), verrà utilizzata una query UNION . Tuttavia, è da notare che queste query devono essere create manualmente in Vista SQL.

La sintassi di una query UNION è

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"

e restituirà un set di dati a due campi con nomi di campi (colonne): floatptfld e text_field

È fondamentale che i tipi di dati (e gli stili di dati) per i campi di tabelle successivamente uniti siano compatibili con la prima query della serie. In altre parole, se la prima query SELECT genera un numero per la prima colonna, anche la seconda query deve restituire un numero nella prima colonna. Oltre a corrispondere tipi di campi nell'ordine, le istruzioni SELECT devono restituire lo stesso numero di campi. I nomi per i campi del foglio dati risultante sono ereditati dalla prima definizione di tabella.

La seguente query NON sarebbe legale, poiché il testo non può essere trasformato in dati decimali né i numeri in virgola mobile possono essere convertiti in numeri interi (senza troncamenti espliciti o arrotondamenti e cast di tipi).

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 funzione COUNT ()

È possibile utilizzare la funzione COUNT () per restituire il numero di record corrispondenti a una query. La seguente tabella 'Dipendente' contiene i numeri ID dei dipendenti e il numero ID del loro responsabile associato.

Numero Identità dell'impiegato manager_id
12 37
22 37
37 63
42 45
45 63
57 45
59 45
63

È possibile utilizzare un'istruzione COUNT () per scoprire quanti dipendenti hanno un manager specifico:

SELECT COUNT(*) AS CNT FROM Employees WHERE Employee.Manager_ID = 37;

ritorna

CNT

2

La funzione può anche essere combinata in query più complicate. Per scoprire quanti dipendenti sono direttamente controllati da una persona specifica, si può applicare quanto segue:

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;

ritorna:

Numero Identità dell'impiegato Supervised_Count
12 0
22 0
37 2
42 0
45 3
57 0
59 0
63 2

La documentazione MSDN può essere trovata qui .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow