SQL Where Klauzula dotycząca wielu warunków

Sql Where Klauzula Dotyczaca Wielu Warunkow



Bazy danych są istotnym elementem budulcowym nowoczesnych aplikacji. Jednak bazy danych przechowują ogromną ilość danych. Dlatego potrzebujemy sposobów na odfiltrowanie danych i pobranie tylko niezbędnych rekordów.

Jedną z najbardziej rozpowszechnionych metod filtrowania danych SQL jest użycie klauzuli WHERE. Klauzula WHERE w SQL pozwala nam filtrować rekordy na podstawie zadanego warunku. Ta klauzula może określać jeden lub więcej warunków, które pozwalają nam filtrować rekordy zwracane przez instrukcję SELECT.







W tym samouczku opisano, jak pracować z klauzulą ​​WHERE i określać wiele warunków w jednej klauzuli, co pozwala na bardziej kontrolowane i szczegółowe filtrowanie danych.



Podstawy klauzul SQL WHERE

Zacznijmy od podstaw i poznajmy podstawy pracy z klauzulą ​​WHERE w SQL.



Załóżmy, że mamy tabelę zawierającą informacje o kraju i pobieramy tylko kraje o populacji (na km kwadratowy) większej niż 100 i powierzchni większej niż 2 000 000.





Zapytanie możemy uruchomić w następujący sposób:

WYBIERAĆ * Z sample_db.country_information
GDZIE obszar > 2 000 000 ORAZ populacja_na_km_kw > 100 ;


W poprzednim przykładzie używamy klauzuli WHERE i operatora AND do określenia dwóch warunków. Użycie operatora AND mówi SQLowi, że oba warunki MUSZĄ być spełnione, aby rekord znalazł się w zbiorze wyników.



To powinno zwrócić tylko kraje, które spełniają określone kryteria w następujący sposób:


Przyjrzyjmy się innym operatorom, aby określić wiele warunków w klauzuli WHERE.

Operator SQL OR

Operator OR pozwala nam określić wiele warunków w klauzuli WHERE. Mimo to, w przeciwieństwie do operatora AND, który wymaga spełnienia wszystkich warunków, operator OR wymaga spełnienia przynajmniej jednego z warunków.

Na przykład, aby wybrać kraje, których powierzchnia jest większa niż 2 000 000 lub liczba ludności (na km kwadratowy) jest większa niż 100, możemy uruchomić następujące zapytanie:

WYBIERAĆ * Z sample_db.country_information
GDZIE obszar > 2 000 000 LUB populacja_na_km_kw > 100 ;


W takim przypadku zapytanie powinno zwrócić wyniki w następujący sposób:

Operator SQL IN

Możemy również użyć operatora IN, aby określić wiele wartości dla kolumny. Na przykład, aby wybrać kraje, których nazwa zawiera łańcuchy „Stany Zjednoczone” i „Rosja”, możemy uruchomić zapytanie w następujący sposób:

WYBIERAĆ * Z sample_db.country_information
GDZIE kraj W ( 'Stany Zjednoczone' , 'Rosja' ) ;


Wynik:

Operator NOT SQL

Operator NOT pozwala nam zanegować dany warunek.

Na przykład wybierz kraje, które nie mają określonej powierzchni i popularności na km2:

WYBIERAĆ * Z sample_db.country_information
GDZIE NIE obszar > 2 000 000 ORAZ populacja_na_km_kw > 100 ;


Wynik:

Wiele operatorów SQL

Możemy również łączyć wiele operatorów, aby określić bardziej złożone warunki.

WYBIERAĆ * Z sample_db.country_information
GDZIE ( kraj_informacje.obszar > 2 000 000 ORAZ populacja_na_km_kw > 100 ) LUB kraj = 'Chiny' ;


Wyjście:


W tym przykładzie używamy nawiasów, aby zgrupować pierwsze dwa warunki, tak aby były oceniane jako pojedynczy warunek przed porównaniem z trzecim warunkiem.

Wniosek

Nauczyliśmy się, jak używać klauzuli WHERE do określania wielu warunków w SQL. Ponadto omówiliśmy operatory AND, OR, IN i NOT oraz odkryliśmy, jak je łączyć, aby tworzyć bardziej złożone warunki.