Podsumowanie: w tym samouczku dowiesz się, jak używać operatora PostgreSQL IN w klauzuli WHERE
, aby sprawdzić, czy wartość pasuje do dowolnej wartości na liście.
PostgreSQL w składni operatora
używasz operatora IN
w klauzuli WHERE
, aby sprawdzić, czy wartość pasuje do dowolnej wartości na liście wartości.
składnia operatora IN
wygląda następująco:
Code language: SQL (Structured Query Language) (sql)
operator IN
zwraca true, jeśli value
pasuje do dowolnej wartości z listy, tzn., value1
, value2
, …
lista wartości może być listą wartości literalnych, takich jak liczby, ciągi znaków lub wynikiem polecenia SELECT
w ten sposób:
Code language: SQL (Structured Query Language) (sql)
zapytanie wewnątrz nawiasów nazywa się podzapytaniem, które jest zapytaniem zagnieżdżonym wewnątrz innego zapytania. Zauważ, że dowiesz się więcej o subquery w kolejnym tutorialu
PostgreSQL w przykładach operatorów
Załóżmy, że chcesz poznać informacje o wynajmie o ID klienta 1 i 2, możesz użyć operatora IN
w klauzuli WHERE
w następujący sposób:
poniższe zapytanie używa operatorów equal (=
) i OR
zamiast operatora IN. Jest on równoważny powyższemu zapytaniu:
zapytanie, które używa operatora IN
jest krótsze i bardziej czytelne niż zapytanie, które używa operatorów equal (=
) i OR
. Ponadto PostgreSQL wykonuje zapytanie za pomocą operatora IN
znacznie szybciej niż to samo zapytanie, które używa listy operatorów OR
.
PostgreSQL nie jest operatorem
możesz połączyć operator IN
z operatorem NOT
, aby wybrać wiersze, których wartości nie pasują do wartości na liście.
na przykład poniższe oświadczenie stwierdza, że wszystkie wypożyczenia z identyfikatorem klienta nie są 1 lub 2.
podobnie jak operator IN
, możesz użyć operatorów not equal (<>
) i AND
, aby napisać operator NOT IN
:
to zapytanie zwraca to samo wyjście, co powyższe zapytanie, które używa operatora NOT IN
.
PostgreSQL IN Z subquery
poniższe zapytanie zwraca listę ID klienta z tabeli rental
z datą zwrotu jest 2005-05-27
:
ponieważ to zapytanie zwraca listę wartości, możesz użyć go jako wejścia operatora IN
w ten sposób:
aby uzyskać więcej informacji na temat subquery, sprawdź samouczek subquery.
w tym samouczku nauczyłeś się używać operatora PostgreSQL IN
, aby sprawdzić, czy wartość pasuje do dowolnej wartości na liście wartości.
- czy ten samouczek był pomocny ?
- YesNo