Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Quali sono subquery correlate

? Programmatori e amministratori di database utilizzano la Structured Query Language per creare banche dati informatiche e la relazione sulle informazioni in loro. Una istruzione SQL può contenere complessi test condizionali per selezionare specifici insiemi di dati provenienti da tabelle di un database . Una subquery correlata ha due test , uno annidato dentro l' altra ; ogni prova dipende dal risultato dell'altra. SQL

database relazionali maggior parte dei moderni incorporano SQL per l'aggiunta e l'aggiornamento dei dati , la creazione di strutture e di raccolta di informazioni . SQL si basa su teorie su dati elaborati nel 1970 e continuamente perfezionato da allora . Si compone di un insieme di istruzioni , tra cui SELECT, INSERT , creare ed eliminare , seguito da varie clausole che specificano i dati che vengono gestiti e opzioni come l'ordinamento e raggruppamento . L' ampio uso di basi di dati è dovuta alla flessibilità e la raffinatezza di SQL , consente alle aziende di analizzare gruppi complessi di dati in molti modi
query e sottoquery

Un comando SQL . per recuperare i dati è chiamata una query , in genere , i programmatori di utilizzare l'istruzione SELECT per le query , anche se molte delle regole per la ricerca dei dati si applicano anche a INSERT , DELETE e UPDATE . Una semplice query SELECT può visualizzare il contenuto di una tabella di dati , come ad esempio la seguente dichiarazione :

SELECT * FROM inventario ;

Questa interrogazione elenca tutti i record in una tabella chiamata "inventario ". si fanno i risultati di una query più specifica con l'aggiunta di test condizionali , come in questa dichiarazione :

SELECT * FROM WHERE inventario warehouse_code = ' chicago5 ';

questa query mostra solo i record di inventario da un magazzino codice , chicago5 .

una sottoquery è una query all'interno di un'altra query . La seguente dichiarazione elenca record di inventario per gli elementi da magazzini di una determinata regione :

SELECT * FROM WHERE inventario warehouse_code IN (SELECT warehouse_code da magazzini WHERE regione = ' Midwest ');

Si noti che questa domanda ha due istruzioni SELECT , uno che visualizza record di inventario , e un altro che prevede la query principale con i codici di magazzino .
correlata sottoquery

un correlato subquery , entrambe le query principali e subordinate estrarre dati dalla stessa tabella . L'interrogazione interna svolge una funzione di aggregazione , come una statistica , e la immette informazioni alla query esterna , che utilizza come base di un confronto . Ad esempio, questa subquery correlata produce un elenco di record di inventario per quegli articoli aventi prezzi superiore alla media di un magazzino . La query esterna passa le informazioni di magazzino per la query interna , e la query interna manda il prezzo medio torna alla query esterna :

SELEZIONA NUMERO_ARTICOLO , prezzo , warehouse_code dall'inventario i1 WHERE prezzo > ( SELECT AVG ( prezzo ) dall'inventario i2 DOVE warehouse_code.i1 = warehouse_code.i2 ) ; " . i2 "

le due query tabella utilizzare alias "I1" e anche se si riferiscono alla stessa tabella , utilizzando alias consente le query di trattarlo come due entità separate .
problemi di prestazioni

subquery correlate , SQL valuta la query interna , una volta per ogni record nella query esterna . Come dimensioni delle tabelle diventano più grandi , il processo richiede più tempo . Se si scopre che una sottoquery correlata prende una quantità eccessiva di tempo per completare , considerare l'utilizzo di una alternativa , come il caricamento di una tabella temporanea con i risultati intermedi , quindi l'elaborazione della tabella temporanea direttamente contro il tavolo principale con un semplice sottoquery . Anche se meno elegante , può risultare significativamente più veloce .

 

software © www.354353.com