Questo articolo fa parte di un set di informazioni sul linguaggio SQL per Access. Spiega come scrivere una SELECT clausola e mostra esempi di tecniche che è possibile 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 inizia in genere con una SELECT clausola. Usare la clausola per specificare i campi che contengono i dati desiderati in una query. È anche possibile usare espressioni al posto o in aggiunta ai campi. È anche possibile usare un'altra SELECT istruzione come campo. Si tratta di una sottoquery.
Si supponga di voler conoscere i numeri di telefono dei clienti. Se il campo in cui sono memorizzati questi numeri è denominato txtCustomerPhone, la clausola avrà l'aspetto SELECT seguente:
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. In caso affermativo, è necessario 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 dati di ogni campo nella SELECT clausola. Usare lo stesso nome dell'origine dati usato nella FROM clausola.
Selezionare tutti i campi
Per includere tutti i campi di un'origine dati, è possibile elencarli singolarmente nella SELECT clausola o usare il carattere jolly asterisco (*). Quando si usa l'asterisco, Access determina i campi contenuti nell'origine dati quando viene eseguita la query e li include tutti. In questo modo è possibile mantenere aggiornata la query 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 l'origine da 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 SELECT clausola potrebbe essere simile alla seguente:
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 è stato pianificato, i risultati della query potrebbero non essere quello desiderato.
Selezionare valori distinti
Se si sa che l'istruzione restituirà dati duplicati e si vogliono visualizzare solo valori distinti, usare la DISTINCT parola chiave nella SELECT clausola. Ad esempio, se alcuni interessi dei clienti usano lo stesso numero di telefono, DISTINCT assicurati 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 usando 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 vogliono selezionare dati da un campo denominato txtCustPhone, è possibile semplificare la lettura dei risultati usando un alias di campo:
SELECT [txtCustPhone] AS [Customer Phone]
Nota
È necessario usare un alias di campo quando si usa un'espressione in una SELECT clausola.
Selezionare usando un'espressione
A volte si vogliono esaminare i calcoli basati sui 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 del BirthDate campo. La SELECT clausola potrebbe essere simile alla seguente:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Questa espressione usa la funzione DatePart e due argomenti: "yyyy" (una costante) e [BirthDate] (identificatore).
È possibile usare qualsiasi espressione valida come campo se restituisce un singolo valore per un singolo valore di input.