Klauzula SQL WHERE IN

Klauzula Sql Where In



W SQL możemy użyć klauzuli WHERE IN do odfiltrowania wyników w danej bazie danych. Klauzula WHERE IN pozwala nam wybrać z danej bazy danych wiersze, które odpowiadają jednej lub większej liczbie określonych wartości z danej listy.

W tym samouczku przyjrzymy się klauzuli WHERE IN, aby dowiedzieć się, jak możemy jej użyć do odfiltrowania wyników z danej tabeli lub zestawu wyników.

Klauzula SQL WHERE IN

Poniżej przedstawiono podstawową składnię klauzuli WHERE IN w języku SQL:







WYBIERZ kolumnę 1, kolumnę 2, ...
Z nazwa_tabeli
GDZIE nazwa_kolumny IN (wartość1, wartość2, ...);

Zaczynamy od podstawowej instrukcji „select”, po której następują kolumny, które chcemy uwzględnić w zestawie wyników.



Następnie określamy tabelę, z której chcemy pobrać wyniki. Na koniec określamy warunek filtra za pomocą klauzuli WHERE, po której następuje nazwa kolumny, według której chcemy filtrować. Po klauzuli IN podajemy listę wartości, których chcemy użyć do filtrowania.



Przykład 1: Filtruj pojedynczy wynik

Aby lepiej zademonstrować sposób użycia klauzuli WHERE IN, spójrzmy na przykład. Rozważmy tabelę „film” z przykładowej bazy danych Sakila.





Załóżmy, że chcemy pobrać wszystkie filmy z oceną PG lub PG-13. Klauzuli WHERE IN możemy użyć w następujący sposób:

WYBIERZ tytuł, rok_wydania, ocenę
Z filmu
GDZIE ocena IN („PG”);

W tym przypadku podajemy listę pojedynczych wartości, które chcemy pobrać w klauzuli IN.



Przykład 2: Filtruj wiele wartości

Możemy również określić więcej niż jedną pozycję na liście wartości. Przykładowo, aby pobrać filmy z listą z oceną PG i PG-13, możemy uruchomić zapytanie w następujący sposób:

WYBIERZ tytuł, rok_wydania, ocenę
Z filmu
GDZIE ocena IN („PG”, „PG-13”);

Wynikowy wynik jest następujący:

Przykład 3: Filtrowanie za pomocą podzapytania

Możemy również użyć WHERE IN w podzapytaniu, co pozwala nam odfiltrować wyniki z danego zestawu wyników.

Załóżmy, że chcemy filtrować filmy na podstawie języka. Na przykład, aby pobrać filmy w języku angielskim i japońskim, możemy użyć WHERE IN w podzapytaniu w następujący sposób:

WYBIERZ tytuł, rok_wydania, ocenę
Z filmu f
GDZIE id_języka IN (
WYBIERZ identyfikator języka
Z języka
WHERE nazwa IN („angielski”, „japoński”)
);

W tym przykładzie tworzymy podzapytanie, które pobiera wartości „language_id” dla języków angielskiego i japońskiego z tabeli „languages”. W głównym zapytaniu wybieramy filmy na podstawie otrzymanych wartości „language_id”.

Wniosek

W tym poście dowiedzieliśmy się, jak pracować z klauzulą ​​WHERE IN w SQL, aby odfiltrować wyniki pasujące do jednej lub wielu wartości na danej liście.