Klauzule SQL Where o více podmínkách

Klauzule Sql Where O Vice Podminkach



Databáze jsou významným stavebním kamenem moderních aplikací. Databáze však uchovávají obrovské množství dat. Proto potřebujeme způsoby, jak data odfiltrovat a získat pouze nezbytné záznamy.

Jednou z nejrozšířenějších metod filtrování dat SQL je použití klauzule WHERE. Klauzule WHERE v SQL nám umožňuje filtrovat záznamy na základě dané podmínky. Tato klauzule může specifikovat jednu nebo více podmínek, které nám umožňují filtrovat záznamy vrácené příkazem SELECT.







Tento výukový program zkoumá, jak pracovat s klauzulí WHERE a specifikovat více podmínek v jedné klauzuli, což umožňuje kontrolovanější a podrobnější filtrování dat.



Základy klauzule SQL WHERE

Začněme základy a naučíme se základy práce s klauzulí WHERE v SQL.



Předpokládejme, že máme tabulku, která obsahuje informace o zemi, a načteme pouze země s počtem obyvatel (na km čtvereční) větším než 100 a oblastí větší než 2 000 000.





Dotaz můžeme spustit následovně:

VYBRAT * FROM sample_db.country_information
Oblast KDE > 2 000 000 AND populaci_na_km_sq > 100 ;


V předchozím příkladu použijeme klauzuli WHERE a operátor AND k určení dvou podmínek. Použití operátoru AND říká SQL, že MUSÍ být splněny obě podmínky, aby byl záznam zahrnut do sady výsledků.



To by mělo vrátit pouze země, které splňují zadaná kritéria takto:


Podívejme se na ostatní operátory, abychom specifikovali více podmínek v klauzuli WHERE.

SQL NEBO Operátor

Operátor OR nám umožňuje specifikovat více podmínek v klauzuli WHERE. Na rozdíl od operátoru AND, který vyžaduje splnění všech podmínek, operátor OR vyžaduje, aby byla splněna alespoň jedna z podmínek.

Chcete-li například vybrat země, jejichž oblast je větší než 2 000 000 nebo počet obyvatel (na km čtvereční) je větší než 100, můžeme spustit následující dotaz:

VYBRAT * FROM sample_db.country_information
Oblast KDE > 2 000 000 NEBO počet_na_km_čt > 100 ;


V tomto případě by měl dotaz vrátit výsledky takto:

Operátor SQL IN

Můžeme také použít operátor IN k určení více hodnot pro sloupec. Chcete-li například vybrat země, jejichž název obsahuje řetězce „Spojené státy“ a „Rusko“, můžeme dotaz spustit následovně:

VYBRAT * FROM sample_db.country_information
KDE země V ( 'Spojené státy' , 'Rusko' ) ;


Výsledek:

SQL NOT operátor

Operátor NOT nám umožňuje negovat danou podmínku.

Vyberte například země, které nemají zadanou oblast a oblíbenost na km2:

VYBRAT * FROM sample_db.country_information
KDE NE oblast > 2 000 000 AND populaci_na_km_sq > 100 ;


Výsledek:

SQL více operátorů

Můžeme také kombinovat více operátorů a specifikovat složitější podmínky.

VYBRAT * FROM sample_db.country_information
KDE ( country_information.area > 2 000 000 AND populaci_na_km_sq > 100 ) NEBO země = 'Čína' ;


Výstup:


V tomto příkladu používáme závorky k seskupení prvních dvou podmínek, takže jsou vyhodnoceny jako jedna podmínka před porovnáním s třetí podmínkou.

Závěr

Naučili jsme se, jak používat klauzuli WHERE ke specifikaci více podmínek v SQL. Kromě toho jsme se zabývali operátory AND, OR, IN a NOT a zjistili jsme, jak je kombinovat, aby se vytvořily složitější podmínky.