Klauzula SQL Where o viacerých podmienkach

Klauzula Sql Where O Viacerych Podmienkach



Databázy sú významným stavebným kameňom moderných aplikácií. Databázy však uchovávajú obrovské množstvo údajov. Preto potrebujeme spôsoby, ako odfiltrovať údaje a získať iba potrebné záznamy.

Jednou z najrozšírenejších metód filtrovania údajov SQL je použitie klauzuly WHERE. Klauzula WHERE v SQL nám umožňuje filtrovať záznamy na základe danej podmienky. Táto klauzula môže špecifikovať jednu alebo viac podmienok, ktoré nám umožňujú filtrovať záznamy vrátené príkazom SELECT.







Tento tutoriál skúma, ako pracovať s klauzulou WHERE a špecifikovať viaceré podmienky v jednej klauzule, čo umožňuje kontrolovanejšie a podrobnejšie filtrovanie údajov.



Základy klauzuly SQL WHERE

Začnime základmi a naučte sa základy práce s klauzulou WHERE v SQL.



Predpokladajme, že máme tabuľku, ktorá obsahuje informácie o krajine, a získame len krajiny s počtom obyvateľov (na km štvorcový) väčším ako 100 a rozlohou väčším ako 2 000 000.





Dotaz môžeme spustiť nasledovne:

VYBRAŤ * FROM sample_db.country_information
oblasť WHERE > 2 000 000 AND populácia_na_km_sq > 100 ;


V predchádzajúcom príklade použijeme klauzulu WHERE a operátor AND na zadanie dvoch podmienok. Použitie operátora AND hovorí SQL, že na to, aby bol záznam zahrnutý do sady výsledkov, MUSIA byť splnené obe podmienky.



Toto by malo vrátiť iba krajiny, ktoré zodpovedajú zadaným kritériám takto:


Pozrime sa na ostatné operátory, aby sme špecifikovali viaceré podmienky v klauzule WHERE.

SQL OR operátor

Operátor OR nám umožňuje špecifikovať viaceré podmienky v klauzule WHERE. Na rozdiel od operátora AND, ktorý vyžaduje splnenie všetkých podmienok, operátor OR vyžaduje splnenie aspoň jednej z podmienok.

Ak chcete napríklad vybrať krajiny, ktorých oblasť je väčšia ako 2 000 000 alebo počet obyvateľov (na km štvorcový) je väčší ako 100, môžeme spustiť nasledujúci dotaz:

VYBRAŤ * FROM sample_db.country_information
oblasť WHERE > 2 000 000 ALEBO počet_na_km_m2 > 100 ;


V tomto prípade by dotaz mal vrátiť výsledky takto:

Operátor SQL IN

Na zadanie viacerých hodnôt pre stĺpec môžeme použiť aj operátor IN. Ak chcete napríklad vybrať krajiny, ktorých názov obsahuje reťazce „Spojené štáty americké“ a „Rusko“, môžeme dotaz spustiť takto:

VYBRAŤ * FROM sample_db.country_information
KDE krajina V ( 'Spojené štáty' , 'Rusko' ) ;


výsledok:

Operátor SQL NOT

Operátor NOT nám umožňuje negovať danú podmienku.

Vyberte napríklad krajiny, ktoré nemajú špecifikovanú oblasť a sú obľúbené na km štvorcový:

VYBRAŤ * FROM sample_db.country_information
KDE NIE oblasť > 2 000 000 AND populácia_na_km_sq > 100 ;


výsledok:

SQL viac operátorov

Môžeme tiež kombinovať viacero operátorov, aby sme špecifikovali zložitejšie podmienky.

VYBRAŤ * FROM sample_db.country_information
KDE ( country_information.area > 2 000 000 AND populácia_na_km_sq > 100 ) ALEBO krajina = 'Čína' ;


Výkon:


V tomto príklade používame zátvorky na zoskupenie prvých dvoch podmienok, aby sa pred porovnaním s treťou podmienkou vyhodnotili ako jedna podmienka.

Záver

Naučili sme sa, ako používať klauzulu WHERE na zadanie viacerých podmienok v SQL. Okrem toho sme sa zaoberali operátormi AND, OR, IN a NOT a zistili sme, ako ich kombinovať, aby sa vytvorili komplexnejšie podmienky.