PostgreSQL IN, nie IN s príkladmi

Obsah:

Anonim

V čom je PostgreSQL?

Operátor IN sa používa v klauzule WHERE, ktorá umožňuje skontrolovať, či je hodnota prítomná v zozname ďalších hodnôt. Funkcia Prevádzka pomáha znižovať potrebu viacerých stavov ALEBO v príkazoch SELECT, UPDATE, INSERT alebo DELETE.

V tomto výučbe PostgreSQL sa dozviete toto:

  • V čom je PostgreSQL?
  • Syntax
  • S Charakterom
  • S číselnými hodnotami
  • Pomocou operátora NOT
  • Pomocou pgAdmin

Syntax

Operátor IN má nasledujúcu syntax:

value IN (value_1, value_2,… )

Hodnota je hodnota, ktorú v zozname kontrolujete.

Hodnota_1, hodnota_2

... sú hodnoty v zozname.

Ak sa hodnota nachádza v zozname, operátor vráti hodnotu true.

Zoznam môže byť sada čísel reťazcov alebo dokonca výstupný výsledok príkazu SELECT, ako je uvedené nižšie:

value IN (SELECT value FROM table-name);

Výrok umiestnený v zátvorke je známy ako poddotaz.

S Charakterom

Ukážme, ako môžete používať operátor IN s hodnotami znakov.

Zvážte nasledujúcu tabuľku:

Zamestnanci:

Spustíme nasledujúci dotaz proti vyššie uvedenej tabuľke:

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

Vráti nasledujúce:

Máme zoznam troch mien. Hľadáme, či môžeme nájsť niektoré z týchto mien v stĺpci mien v tabuľke Zamestnanci. Kate Joel bola priradená k jednému zo záznamov tabuľky a jej podrobnosti boli vrátené.

S číselnými hodnotami

Teraz sa pozrime, ako môžeme použiť operátor IN s číselnými hodnotami.

Zvážte nižšie uvedenú cenovú tabuľku:

Cena:

Môžeme spustiť nasledujúci dotaz proti tabuľke:

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

Takto sa vráti toto:

Vytvorili sme zoznam so 4 číselnými hodnotami. Preverujeme, či môžeme niektorú z týchto hodnôt priradiť k hodnotám uvedeným v stĺpci cena v tabuľke Cena. Zhodli sa dve hodnoty a ich podrobnosti sa vrátili.

Pomocou operátora NOT

Operátor IN je možné používať spolu s operátorom NOT. Vráti hodnoty, ktoré sa v zadanom stĺpci nenachádzajú. Na demonštráciu to použijeme tabuľku cien.

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

Takto sa vráti toto:

Vytvorili sme zoznam so 4 číselnými hodnotami. Hodnoty, ktoré nie sú súčasťou zoznamu, kontrolujeme v stĺpci Cena v tabuľke Cena. Dve hodnoty, 250 a 300, sa nenašli. Preto boli vrátené ich podrobnosti.

Pomocou pgAdmin

Teraz sa pozrime, ako je možné vykonať akcie pomocou pgAdmin.

S Charakterom

To isté dosiahnete prostredníctvom pgAdmin:

Krok 1) Prihláste sa do svojho účtu pgAdmin.

Krok 2)

  1. Na navigačnom paneli vľavo kliknite na položku Databázy.
  2. Kliknite na ukážku.

Krok 3) Zadajte dopyt do editora dotazov:

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

Krok 4) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

S číselnými hodnotami

To isté dosiahnete prostredníctvom pgAdmin:

Krok 1) Prihláste sa do svojho účtu pgAdmin.

Krok 2)

  1. Na navigačnom paneli vľavo kliknite na položku Databázy.
  2. Kliknite na ukážku.

Krok 3) Zadajte dopyt do editora dotazov:

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

Krok 4) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Pomocou operátora NOT

To isté dosiahnete prostredníctvom pgAdmin:

Krok 1) Prihláste sa do svojho účtu pgAdmin.

Krok 2)

  1. Na navigačnom paneli vľavo kliknite na položku Databázy.
  2. Kliknite na ukážku.

Krok 3) Zadajte dopyt do editora dotazov:

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

Krok 4) Kliknite na tlačidlo Vykonať.

Mal by vrátiť nasledujúce:

Zhrnutie:

  • Operátor IN sa používa s operátorom WHERE. Umožňuje skontrolovať, či sa konkrétna hodnota nachádza v konkrétnej tabuľke.
  • Operátor IN pomáha pri znižovaní potreby viacerých operátorov OR v príkazoch SELECT, UPDATE, INSERT alebo DELETE.
  • Pri vytváraní zoznamu znakov na kontrolu prítomnosti hodnoty by mala byť každá hodnota v zozname uzavretá v jednoduchých úvodzovkách.
  • Operátor IN možno použiť aj s číselnými hodnotami.
  • Keď sa použije operátor IN spolu s operátorom NOT, vráti všetky hodnoty, ktoré sa v zadanom stĺpci nenachádzajú.

Stiahnite si databázu použitú v tomto výučbe