Funzione di aggregazione nella query Sub

August 4

Un sub-query è un tipo di istruzione SQL che esegue una query all'interno di una query. Per esempio, si esegue un sub-query per recuperare i dati da una tabella, e quindi l'interrogazione principale recupera un risultato finale fissato dal sub-query. Sub-query vengono utilizzate nelle query complesse in cui l'amministratore del database vuole interrogare da più tabelle e non è possibile utilizzare lo standard JOIN.

Architettura sottoquery

Un sub-query è contenuta all'interno della vostra query principale. In genere, l'amministratore del database utilizza l'istruzione JOIN per unirsi a un altro tavolo per la vostra tabella principale. Se questo non è possibile, il sub-query viene utilizzata per recuperare un elenco di record. Il sub-query viene sempre eseguito per primo, e le principali filtri di query al largo del sub-query. Si può anche avere sub-query all'interno di un sub-query. La query più interna viene sempre eseguita prima.

Creazione di una sottoquery

Il sub-query è in genere una query "select". Quando si crea il programma di database, per prima cosa definire le regole di business sub-query. Ad esempio, utilizzare la seguente istruzione SQL per restituire un elenco di account in una tabella nome utente:
selezionare il nome utente
Il carattere "" restituisce tutti i campi della tabella, in modo da poter utilizzare la query principale per visualizzare e filtrare i dati necessari per visualizzare o di processo. È inoltre possibile filtrare i record nel sub-query. Ad esempio, utilizzare la seguente query per ottenere solo gli account utente in cui il nome utente ha un nome di "Jane":
select * from nomeutente dove nome = 'Jane'

Aggiungere query principale

Con il sub-query definito, è possibile impostare la query principale. Quando si utilizza una query come un sub-query, si contengono il sub-query tra parentesi. Ad esempio, utilizzando la query nome dell'account, il sub-query è simile al seguente:
(selezionare il nome utente dove nome = 'Jane')
Per aggiungere la query a una query principale, utilizzare il seguente:
inserire persone (selezionate da nomeutente dove nome = 'Jane')
Questa istruzione copia rappresentano i nomi dalla tabella nome utente e li inserisce nella tabella "persone".

L'affermazione

L'affermazione "IN" utilizza un sub-query per recuperare un elenco di record che sono "in" un altro tavolo. Per esempio, se si desidera visualizzare una lista di persone con un ID di "1" che si trova in una tabella separata di nomi utente, utilizzare la seguente istruzione:
select * from conti dove ID è (selezionare ID da nome utente dove ID = 1)
Questa affermazione ottiene tutti i conti che hanno un nome utente con un ID di 1. Queste query complesse vengono utilizzati quando si dispone di più tabelle con dati simili, legati.