PostgreSQL IN, ne IN s příklady

Co je to PostgreSQL V ?

Operátor IN se používá v klauzuli WHERE, která umožňuje zkontrolovat, zda je hodnota přítomna v seznamu jiných hodnot. V OperaTato funkce pomáhá snížit potřebu vícenásobných podmínek OR v příkazech SELECT, UPDATE, INSERT nebo DELETE.

Syntax

Operátor IN má následující syntaxi:

value IN (value_1, value_2, ...)

Hodnota je hodnota, kterou hledáte v seznamu.

Hodnoty_1, hodnota_2… jsou hodnoty seznamu.

Pokud je hodnota v seznamu nalezena, operátor vrátí hodnotu true.

Seznam může být sada čísel řetězců nebo dokonce výstupní výsledek a příkaz SELECT jak je uvedeno níže:

value IN (SELECT value FROM table-name);

Příkaz umístěný uvnitř závorky se nazývá poddotaz.

S Charakterem

Pojďme si ukázat, jak můžete použít operátor IN s hodnotami znaků.

Zvažte následující tabulku:

zaměstnanci:

PostgreSQL V S Charakterem

Spusťte následující dotaz proti výše uvedené tabulce:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Vrací to následující:

PostgreSQL V S Charakterem

Máme seznam tří jmen. Hledáme, zda některé z těchto jmen můžeme najít ve sloupci jména v tabulce Zaměstnanci. Kate Joel byla přiřazena k jednomu ze záznamů tabulky a jeho podrobnosti byly vráceny.

S Numeric

Nyní se podívejme, jak můžeme použít operátor IN s číselnými hodnotami.

Zvažte níže uvedenou cenovou tabulku:

Cena:

PostgreSQL V S numerickým

Proti tabulce můžeme spustit následující dotaz:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

To vrátí následující:

PostgreSQL V S numerickým

Vytvořili jsme seznam se 4 číselnými hodnotami. Ověřujeme, zda můžeme některou z těchto hodnot porovnat s hodnotami obsaženými ve sloupci cena v tabulce Cena. Dvě hodnoty byly spárovány a jejich podrobnosti byly vráceny.

Použití operátoru NOT

Operátor IN lze použít společně s operátorem NOT. Vrací hodnoty, které nejsou v zadaném sloupci nalezeny. K demonstraci toho použijeme cenovou tabulku.

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

Tím se vrátí následující:

PostgreSQL V použití operátoru NOT

Vytvořili jsme seznam se 4 číselnými hodnotami. Ve sloupci Cena v tabulce Ceny kontrolujeme hodnoty, které nejsou součástí seznamu. Dvě hodnoty, 250 a 300, nebyly nalezeny. Proto byly jejich údaje vráceny.

Pomocí pgAdmin

Nyní se podívejme, jak lze akce provádět pomocí pgAdmin.

S Charakterem

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Použití pgAdmin se znakem

Krok 3) Zadejte dotaz v editoru dotazů:

SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');

Krok 4) Klepněte na tlačítko Spustit.

Použití pgAdmin se znakem

Mělo by vrátit následující:

Použití pgAdmin se znakem

S Numeric

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Použití pgAdmin s Numeric

Krok 3) Zadejte dotaz v editoru dotazů:

SELECT *
FROM Price
WHERE price IN (200, 308, 250, 550);

Krok 4) Klepněte na tlačítko Spustit.

Použití pgAdmin s Numeric

Mělo by vrátit následující:

Použití pgAdmin s Numeric

Použití operátoru NOT

Chcete-li provést totéž prostřednictvím pgAdmin, postupujte takto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigační liště vlevo klikněte na Databáze.
  2. Klepněte na tlačítko Demo.

Použití operátoru NOT

Krok 3) Zadejte dotaz v editoru dotazů:

SELECT *
FROM Price
WHERE price NOT IN (200, 400, 190, 230);

Krok 4) Klepněte na tlačítko Spustit.

Použití operátoru NOT

Mělo by vrátit následující:

Použití operátoru NOT

Shrnutí

  • Operátor IN se používá s operátorem WHERE. Umožňuje zkontrolovat, zda je určitá hodnota přítomna v konkrétní tabulce.
  • Operátor IN pomáhá snížit potřebu více operátorů OR v příkazech SELECT, UPDATE, INSERT nebo DELETE.
  • Při vytváření seznamu znaků pro kontrolu přítomnosti hodnoty by každá hodnota v seznamu měla být uzavřena do jednoduchých uvozovek.
  • Operátor IN lze také použít s číselnými hodnotami.
  • Když je operátor IN použit společně s operátorem NOT, vrací všechny hodnoty, které nejsou v zadaném sloupci nalezeny.

Stáhněte si databázi použitou v tomto kurzu