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

Quali sono correlati sub-query in Oracle RDBMS e

? Oracle è un sistema commerciale di gestione di database relazionali . Come con altri grandi del RDBMS , utilizza la Structured Query Language per i database di manutenzione , amministrazione e programmazione . Il linguaggio SQL consente di creare query di database sofisticati per il reporting , l'aggiunta e la modifica delle informazioni nel database. Queste query possono includere correlati sub -query , in cui i dati dalla sub -query dipende dalla query principale. SQL Query

una query SQL è una dichiarazione che prende in esame i dati del database e lo utilizza per produrre un report o aggiornare il database . Una delle domande più semplici è un elenco di record in una tabella di database . Sembra che l'istruzione SQL seguente :

SELECT * FROM clienti ;

Questa query produce una lista non ordinata di tutte le informazioni nella tabella " clienti " , record per record . Utilizzando il potente clausola WHERE , è possibile creare query selettive che valutano i dati e l'elenco solo i record che corrispondono ai criteri della clausola :

SELECT * FROM clienti WHERE stato = 'CA ';

interrogazione elenca solo i clienti dalla California. La clausola WHERE accomoda condizioni molto complessi, tra cui i risultati di sub-query correlate , per selezionare solo i dati che si desidera .
Sub-query

sub -query è una query in cui la clausola WHERE in sé ha una sua interrogazione . Questo è un modo conveniente per combinare le informazioni da tabelle di database diversi per produrre risultati più sofisticati . La seguente interrogazione produce un elenco di quei clienti che hanno effettuato ordini nel 2011 :

SELECT * FROM clienti WHERE customer_code IN ( customer_code SELECT FROM ordini WHERE order_date compreso tra '1 /1/2011 'AND '12 /31 /2011 ');

si noti che si tratta di una query all'interno di una query . L'istruzione SELECT all'interno delle parentesi genera un elenco di codici cliente dalla tabella " ordini " . La query esterna utilizza i codici del cliente per produrre una lista di nomi di clienti , indirizzi e altre informazioni . Si tratta di un sub -query , ma non una coordinata sub -query , . Anche se la query esterna dipende da quella interna , una sotto -query coordinato ha anche una query interna che dipende da quello esterno

correlata sub-query

In una sottoquery correlata , ogni query dipende dall'altro . La seguente dichiarazione di Oracle SQL produce un elenco di codici di clienti, nomi e totali di acquisto per i clienti i cui importi acquisto scendere al di sotto della media per tutti i clienti in uno stato. Devi quindi due domande reciprocamente dipendenti , uno che elenca i clienti, ma ha bisogno del dato medio di vendita rispetto al quale confrontare , e l'altro che calcola la media ma ha bisogno dello Stato. Si noti l'uso della tabella alias "C1" e "C2 ". L' alias " c1 " si riferisce alla tabella dei clienti nella query esterna , e " c2 " è la tabella clienti nella query interna .

SELEZIONA customer_code , nome , total_purchases , stato FROM clienti WHERE c1 total_ acquisti < ( SELECT AVG ( total_ acquisti) FROM clienti WHERE c2 c1.state = c2.state ) ;
Usa

correlato sub-query presentiamo un metodo utile per selezionare le informazioni da tabelle in cui si richiede condizionali sub-query utilizzando la clausola WHERE , e il criterio per la query interna viene da quello esterno . Come per l'esempio sub -query , il metodo funziona bene quando la query interna genera un importo complessivo , come ad esempio una media , totale , minimo o massimo , contro il quale la query esterna confronta . È possibile utilizzare la correlazione per gruppi uniti di tavoli e tavoli da singoli.

 

software © www.354353.com