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:
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í:
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:
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í:
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í:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
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.
Mělo by vrátit následující:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
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.
Mělo by vrátit následující:
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)
- Na navigační liště vlevo klikněte na Databáze.
- Klepněte na tlačítko Demo.
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.
Mělo by vrátit následující:
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