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

MySQL poddotazy Tutorial

poddotazov sú otázky vnorené do iného dotazu. Poddotazy vám umožní oddeliť jednotlivé časti príkazu a poskytnúť viac čitateľný alternatívu k vykonávaniu operácií , ktoré by vyžadovali zložité spojenie a odbory bez poddotazov . MySQL poddotazy môže vrátiť jednu hodnotu , jednoradové , jeden stĺpec alebo tabuľku . Syntax

Základná syntax pre poddotaz je toto :

SELECT * FROM tabulka WHERE columna = ( SELECT FROM COLUMNB tabulka2 ) ;

poddotazov musí byť SELECT , INSERT , UPDATE , DELETE SET alebo DO vyhlásení , a nemožno zmeniť tabuľku a vyberte z nej v poddotaz .

poddotazov sa zvyčajne nachádzajú na pravej strane klauzuly WHERE , ktorá môže obsahovať ľubovoľný z nasledujúcich porovnávacích a logických operátorov : = ( presne ) , < > ( nerovná ) , < = (menší alebo rovný ) , > = ( väčší alebo rovný ) , < ( menší než ) , > ; ( väčší než ) , mEDZI ( hodnota leží medzi dvoma hodnotami ) NOT ( logický NOT ) , A ( logické AND ) , OR ( logické OR ) . Môžu tiež obsahovať zreteľný , GROUP BY , ORDER BY a LIMIT kľúčové slová . Môžu byť použité aj v spojení s JOIN vyhlásenie . Iné ako vyššie uvedené obmedzenia , existuje len veľmi málo obmedzení , umiestnené na poddotazy v MySQL .

Nie je ani obmedzenie počtu poddotaz , ktoré možno nájsť v jednom príkaze . Tak dlho , ako umiestniť jednotlivé poddotaz v okrúhlych zátvorkách , môžete mať toľko vnorených dotazov , ako budete musieť nájsť vaše dáta . . Viac informácií o poddotazy nájdete v referenčnej príručke MySQL ( pozri zdroje )
Príklad

Predpokladajme , že máte dve tabuľky : prvá obsahuje krstné meno , meno , Ulica a PSČ členov svojho mailing listu , druhá obsahuje mesto, štát a PSČ . Ak by ste chceli nájsť mená členov , ktorí žijú v Gruzínsku , môžete použiť viac príkazov SELECT . Prvé tvrdenie by bolo nájsť zips kódy pre Gruzínsku :

SELECT FROM zips PSČ WHERE stav = " Gruzínsko " ;

Potom by ste vydať príkaz select pre každú poštové smerovacie číslo vrátil :

SELECT fname lname FROM adresu , kam zips = " [ PSČ ] " ;

že táto metóda je časovo veľmi náročné a náchylné k chybám . Je to ľahké prehliadnuť poštové smerovacie číslo , najmä ak existuje veľa z nich

jednoduchší spôsob , ako dokončiť svoju úlohu by bolo vydať prvý príkaz ako poddotaz na druhé oznámenie : .
< P > SELECT fname , lname FROM adresu , kam zips = ( SELECT FROM zips PSČ WHERE stav = " Gruzínsko " ) ; .

Tento dotaz vráti všetky členmi zoznamu adresátov , ktorí žijú v Gruzínsku s jedným dotazom

Najnovšie články

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