Co je PostgreSQL?
Operátor IN se používá v klauzuli WHERE, která umožňuje kontrolu, zda je hodnota přítomna v seznamu dalších hodnot. V části Provoz pomáhá snížit potřebu více podmínek NEBO v příkazech SELECT, UPDATE, INSERT nebo DELETE.
V tomto výukovém programu PostgreSQL se naučíte následující:
- Co je PostgreSQL?
- Syntax
- Se znakem
- S číselným
- Pomocí operátoru NOT
- Pomocí pgAdmin
Syntax
Operátor IN má následující syntaxi:
value IN (value_1, value_2,… )
Hodnota je hodnota, kterou v seznamu kontrolujete.
Hodnota_1, hodnota_2
… Jsou hodnoty seznamu.Pokud je hodnota nalezena v seznamu, vrátí operátor hodnotu true.
Seznam může být sada čísel řetězců nebo dokonce výstupní výsledek příkazu SELECT, jak je uvedeno níže:
value IN (SELECT value FROM table-name);
Výrok umístěný uvnitř závorky je znám jako poddotaz.
Se znakem
Ukážeme, jak můžete použít operátor IN s hodnotami znaků.
Zvažte následující tabulku:
Zaměstnanci:
Spustíme následující dotaz proti výše uvedené tabulce:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Vrátí následující:
Máme seznam tří jmen. Hledáme, zda můžeme najít některý z těchto jmen ve sloupci názvů v tabulce Zaměstnanci. Kate Joel byla přiřazena k jednomu ze záznamů tabulky a její podrobnosti byly vráceny.
S číselným
Nyní se podívejme, jak můžeme použít operátor IN s číselnými hodnotami.
Zvažte níže uvedenou tabulku cen:
Cena:
Proti tabulce můžeme spustit následující dotaz:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Tím se vrátí následující:
Vytvořili jsme seznam se 4 číselnými hodnotami. Kontrolujeme, zda můžeme některou z těchto hodnot porovnat s hodnotami obsaženými ve sloupci ceny v tabulce cen. Byly uzavřeny dvě hodnoty a jejich podrobnosti byly vráceny.
Pomocí operátoru NOT
Operátor IN lze použít společně s operátorem NOT. Vrátí hodnoty, které se v zadaném sloupci nenacházejí. K demonstraci použijeme tabulku cen.
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Tím se vrátí následující:
Vytvořili jsme seznam se 4 číselnými hodnotami. Hodnoty, které nejsou součástí seznamu, kontrolujeme ve sloupci ceny v tabulce cen. Dvě hodnoty, 250 a 300, nebyly nalezeny. Proto byly jejich podrobnosti vráceny.
Pomocí pgAdmin
Nyní se podívejme, jak lze akce provádět pomocí pgAdmin.
Se znakem
Chcete-li toho dosáhnout prostřednictvím pgAdmin, postupujte takto:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigačním panelu vlevo klikněte na Databáze.
- Klikněte na ukázku.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *FROM EmployeesWHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Krok 4) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
S číselným
Chcete-li toho dosáhnout prostřednictvím pgAdmin, postupujte takto:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigačním panelu vlevo klikněte na Databáze.
- Klikněte na ukázku.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *FROM PriceWHERE price IN (200, 308, 250, 550);
Krok 4) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Pomocí operátoru NOT
Chcete-li toho dosáhnout prostřednictvím pgAdmin, postupujte takto:
Krok 1) Přihlaste se ke svému účtu pgAdmin.
Krok 2)
- Na navigačním panelu vlevo klikněte na Databáze.
- Klikněte na ukázku.
Krok 3) Zadejte dotaz do editoru dotazů:
SELECT *FROM PriceWHERE price NOT IN (200, 400, 190, 230);
Krok 4) Klikněte na tlačítko Provést.
Mělo by vrátit následující:
Souhrn:
- Operátor IN se používá s operátorem WHERE. Umožňuje zkontrolovat, zda je konkrétní 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ů ke kontrole přítomnosti hodnoty by měla být každá hodnota v seznamu uzavřena do jednoduchých uvozovek.
- Operátor IN lze použít také s číselnými hodnotami.
- Když se použije operátor IN společně s operátorem NOT, vrátí všechny hodnoty, které se v zadaném sloupci nenacházejí.
Stáhněte si databázi použitou v tomto výukovém programu