Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Aké sú korelované poddotazov

? Programátori a správcovia databázových použiť Structured Query Language vytvorenie počítačovej databázy a správu o informáciách v nich . SQL môže obsahovať zložité podmienené testy pre výber konkrétnych súborov dát z tabuliek v databáze . Korelačný poddotaz má dva testy , jeden vnorený vnútri iného , každý test je závislá na výsledku druhého . SQL

Väčšina moderných relačných databáz začleniť SQL pre pridávanie a aktualizáciu dát , vytváranie štruktúr a získavanie informácií . SQL je založený na teóriách o údajoch vypracovaných v roku 1970 a neustále rafinované od tej doby . Skladá sa zo sady príkazov , vrátane SELECT , INSERT , vytvárať a mazať , nasleduje rôzne doložky s uvedením dáta sú spravované a možnosti , ako je triedenie a zoskupovanie . Rozšírené využívanie databáz je vďaka flexibilite a prepracovanosti SQL je , že umožňuje organizáciám analyzovať zložité skupiny dát v mnohých ohľadoch
Otázky a poddotazov

príkaz SQL . na načítanie dát sa nazýva dotaz , zvyčajne programátori používať príkaz SELECT pre otázky , hoci mnoho z pravidiel pre vyhľadávanie údajov vzťahujú tiež na INSERT , DELETE a UPDATE . SELECT jednoduchý dotaz môže zobraziť obsah tabuľky dát , ako je napríklad nasledovné vyhlásenie :

SELECT * FROM zásob ;

Tento dotaz obsahuje všetky záznamy v tabuľke s názvom " zásob . " urobíte výsledky dotazu v konkrétnejší pridaním podmienené testami , ako v tomto vyhlásení :

SELECT * FROM zásob WHERE warehouse_code = ' chicago5 " ;

Tento dotaz zobrazí iba záznamy zásob z jedného skladu kód , chicago5 .

poddotaz je dotaz vnútri iného dotazu. Nasledujúce záznamy zoznamy údajov o výrobku na tieto položky zo skladu v určitom regióne :

SELECT * FROM zásob KDE warehouse_code IN ( SELECT FROM warehouse_code sklady , kde región = ' Midwest ' ) ;

Všimnite si , že tento dotaz má dva príkazy SELECT , ten , ktorý zobrazuje záznamy zásob , a ďalšie, ktoré poskytuje hlavné dotaz s skladových kódov .
korelačný poddotaz

korelované poddotaz , obe hlavné a podriadené otázky vytiahnuť dáta z tej istej tabuľky . Vnútorné dotaz vykonáva agregačnú funkciu , ako je štatistika , a dodáva túto informáciu do vonkajšieho dotazu , ktorý sa používa ako základ pre porovnanie . Napríklad tento korelačný poddotaz vytvára zoznam inventárnych záznamov , pre tie položky , ktoré majú ceny vyššie ako priemer skladu je . Vonkajšie dotaz odovzdáva informácie o skladu na vnútornej dotazu , a vnútorné dotaz odošle priemernú cenu späť do vonkajšieho dotazu :

SELECT part_number , cena , warehouse_code z inventára i1 WHERE cena > ( SELECT AVG ( cena ) z inventára i2 KDE warehouse_code.i1 = warehouse_code.i2 ) " . i2 "

dva dotazy používajú aliasy v tabuľke " i1 " a keď oni sa odvolávajú na rovnakú tabuľku , pomocou aliasov umožňuje otázky ju liečiť ako dva samostatné subjekty .
problémy s výkonom

korelovaných poddotazov , SQL vyhodnocuje vnútorné dotaz raz pre každý záznam vo vonkajšom dotazu. Tabuľka veľkostí Ako sa zväčšujú , proces trvá dlhšie . Ak zistíte , že korelačný poddotaz trvá nadmerné množstvo času na dokončenie , zvážte použitie alternatívne , ako je načítanie dočasnú tabuľku s medzivýsledky , potom spracovanie dočasnú tabuľku priamo proti hlavnému stolu s jednoduchým poddotaz . Hoci menej elegantný , môže to výrazne rýchlejšie dokázať .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené