Questo articolo fa parte di una serie relativa a SQL per Access. Spiega come scrivere una SELECT clausola e mostra esempi di tecniche che puoi usare.
Per una panoramica del linguaggio SQL per Access, vedere l'articolo Linguaggio SQL per Access: nozioni fondamentali, terminologia e sintassi.
In questo articolo
- Selezionare campi: la clausola SELECT
- Selezionare tutti i campi
- Selezionare valori distinti
- Usare nomi sostitutivi per campi o espressioni: la parola chiave AS
- Selezionare usando un'espressione
Selezionare campi: la clausola SELECT
Un'istruzione SELECT di solito inizia con una SELECT clausola. Usare la clausola per specificare i campi che contengono i dati desiderati in una query. È inoltre possibile usare le espressioni al posto o in aggiunta ai campi. È anche possibile usare un'altra SELECT istruzione come campo. Questa è denominata sottoquery.
Si supponga di voler conoscere i numeri di telefono dei clienti. Se il campo in cui sono memorizzati tali numeri è denominato txtCustomerPhone, la clausola avrà questo SELECT aspetto:
SELECT [txtCustomerPhone]
È possibile usare le parentesi quadre per racchiudere il nome. Se il nome non contiene spazi o caratteri speciali, le parentesi quadre sono facoltative. Se sì, devi usarli.
Suggerimento
Un nome con gli spazi è più facile da leggere e consente di risparmiare tempo quando si progettano moduli e report, tuttavia può richiedere una maggiore digitazione quando si scrivono istruzioni SQL. Tenere presente questa considerazione quando si assegna un nome agli oggetti nel database di Access.
Se l'istruzione SQL contiene due o più campi con lo stesso nome, aggiungere il nome dell'origine SELECT dati di ogni campo nella clausola. Utilizzare lo stesso nome dell'origine FROM dati utilizzato nella clausola.
Selezionare tutti i campi
Se si desidera includere tutti i campi di un'origine dati, è possibile elencarli singolarmente nella clausola o utilizzare l'asterisco SELECT (*). Quando si usa l'asterisco, Access determina i campi contenuti nell'origine dati durante l'esecuzione della query e li include tutti. In questo modo la query viene aggiornata quando vengono aggiunti nuovi campi all'origine dati.
È possibile usare l'asterisco con una o più origini dati in un'istruzione SQL. Se si usa l'asterisco con più origini dati, includere il nome dell'origine dati con l'asterisco in modo che Access possa determinare quale origine usare.
Si supponga, ad esempio, di voler selezionare tutti i campi della Orders tabella, ma solo l'indirizzo di posta elettronica della Contacts tabella. La tua SELECT clausola potrebbe essere simile a questa:
SELECT Orders.*, Contacts.[E-mail Address]
Nota
Tenere traccia del momento in cui si usa l'asterisco. Se in seguito qualcuno aggiunge nuovi campi all'origine dati e non sono stati pianificati, i risultati della query potrebbero non essere quelli desiderati.
Selezionare valori distinti
Se si sa che l'istruzione restituirà dati duplicati e si desidera visualizzare solo valori distinti, utilizzare la DISTINCT parola chiave nella SELECT clausola. Ad esempio, se alcuni interessi dei clienti utilizzano lo stesso numero di telefono, DISTINCT assicurarsi di visualizzare ogni numero di telefono una sola volta:
SELECT DISTINCT [txtCustomerPhone]
Usare nomi sostitutivi per campi o espressioni: la parola chiave AS
È possibile modificare l'etichetta visualizzata per qualsiasi campo in visualizzazione Foglio dati utilizzando la AS parola chiave e un alias di campo nella SELECT clausola. Un alias di campo è un nome assegnato a un campo in una query per rendere più leggibili i risultati. Ad esempio, se si desidera selezionare dati da un campo denominato txtCustPhone, è possibile semplificare la lettura dei risultati utilizzando un alias di campo:
SELECT [txtCustPhone] AS [Customer Phone]
Nota
Quando si utilizza un'espressione in una SELECT clausola, è necessario utilizzare un alias di campo.
Selezionare usando un'espressione
A volte è necessario esaminare i calcoli in base ai dati o restituire solo una parte del valore di un campo. Si supponga, ad esempio, di voler restituire l'anno di nascita dei clienti in base ai dati nel BirthDate campo. La tua SELECT clausola potrebbe essere simile a questa:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
In questa espressione viene usata la funzione DatePart e due argomenti: "yyyy" (una costante) e [BirthDate] (un identificatore).
È possibile usare qualsiasi espressione valida come campo se restituisce un singolo valore per un singolo valore di input.