Applies ToAccess per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

L'istruzione SELECT indica al motore di database di Microsoft Access di restituire le informazioni dal database come set di record.

Sintassi

SELECT [predicato] { * | tabella.* | [tabella.]campo1 [AS alias1] [, [tabella.]campo2 [AS alias2] [, ...]]}FROM espressionetabella [, ...] [IN databaseesterno][WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ][WITH OWNERACCESS OPTION]

L'istruzione SELECT è composta dalle parti seguenti:

Parte

Descrizione

predicato

Uno dei predicati seguenti: ALL, DISTINCT, DISTINCTROW o TOP. I predicati consentono di limitare il numero di record restituito. Se non ne viene specificato alcuno, l'impostazione predefinita è ALL.

*

Indica che tutti i campi della tabella o delle tabelle specificate sono selezionati.

tabella

Nome della tabella contenente i campi in cui si selezionano i record.

campo1, campo2

Nomi dei campi che contengono i dati da recuperare. Se si includono più campi, questi vengono recuperati secondo l'ordine dell'elenco.

alias1, alias2

Nomi da usare nelle intestazioni di colonna al posto dei nomi di colonna originali della tabella.

espressionetabella

Nome della tabella o delle tabelle contenenti i dati da recuperare.

databaseesterno

Nome del database contenente le tabelle indicate in espressionetabella, se queste sono esterne al database corrente.

Osservazioni

Per effettuare questa operazione, il motore di database di Microsoft Access esegue la ricerca nella tabella o nelle tabelle specificate, estrae le colonne scelte, seleziona le righe che soddisfano i criteri definiti e quindi ordina o raggruppa le righe risultanti nell'ordine specificato.

Le istruzioni SELECT non modificano i dati del database.

SELECT è in genere la prima parola di un'istruzione SQL. La maggior parte delle istruzioni SQL è costituita da istruzioni SELECT o SELECT...INTO.

La sintassi minima di un'istruzione SELECT è la seguente:

SELECT campi FROM tabella

Per selezionare tutti i campi di una tabella, è possibile usare un asterisco (*). Nell'esempio seguente vengono selezionati tutti i campi della tabella Dipendenti:

SELECT * FROM Employees;

Se il nome di un campo è incluso in più tabelle indicate nella clausola FROM, è necessario anteporre al nome del campo il nome della tabella seguito dall'operatore . (punto). Nell'esempio che segue, il campo Reparto è incluso sia nella tabella Dipendenti sia nella tabella Supervisori. L'istruzione SQL seleziona i reparti nella tabella Dipendenti e i nomi dei supervisori nella tabella Supervisori:

SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;

Quando viene creato un oggetto Recordset, il motore di database di Microsoft Access usa il nome del campo della tabella come nome dell'oggetto Field nell'oggetto Recordset. Se si vuole un nome di campo diverso o un nome non incluso nell'espressione usata per generare il campo, usare la parola riservata AS. L'esempio seguente usa l'intestazione Nascita per denominare l'oggetto Field restituito nell'oggetto Recordset risultante:

SELECT BirthDate AS Birth FROM Employees;

Quando si usano funzioni di aggregazione o query che restituiscono nomi di oggetti Field duplicati o non univoci, è necessario usare la clausola AS per indicare un nome alternativo per l'oggetto Field. Nell'esempio seguente viene usata l'intestazione NumeroDipendenti per denominare l'oggetto Field restituito nell'oggetto Recordset risultante:

SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;

È possibile usare altre clausole in un'istruzione SELECT per limitare e organizzare in modo più efficace i dati restituiti. Per altre informazioni, vedere l'argomento della Guida relativo alla clausola usata.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.