PostgreSQL IN, ei IN esimerkkien kanssa

Mikรค on PostgreSQL Sisรครคn ?

IN-operaattoria kรคytetรครคn WHERE-lauseessa, jonka avulla voidaan tarkistaa, onko arvo olemassa muiden arvojen luettelossa. sisรครคn OperaTรคmรค auttaa vรคhentรคmรครคn useiden TAI-ehtojen tarvetta SELECT-, UPDATE-, INSERT- tai DELETE-kรคskyissรค.

Syntaksi

IN-operaattori ottaa seuraavan syntaksin:

value IN (value_1, value_2, ...)

Arvo on arvo, jota tarkistat luettelosta.

Arvo_1, arvo_2โ€ฆ ovat luetteloarvoja.

Jos arvo lรถytyy luettelosta, operaattori palauttaa tosi.

Lista voi olla joukko merkkijonoja tai jopa a:n tulos SELECT-lause kuten alla:

value IN (SELECT value FROM table-name);

Suluissa oleva lause tunnetaan alikyselynรค.

Hahmon kanssa

Osoitetaan, kuinka voit kรคyttรครค IN-operaattoria merkkiarvojen kanssa.

Tarkastellaan seuraavaa taulukkoa:

Tyรถntekijรคt:

PostgreSQL Luonteella

Suoritetaan seuraava kysely yllรค olevaa taulukkoa vastaan:

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

Se palauttaa seuraavan:

PostgreSQL Luonteella

Meillรค on kolmen nimen luettelo. Etsimme, lรถytyykรถ jokin nรคistรค nimistรค Tyรถntekijรคt-taulukon nimisarakkeesta. Kate Joel yhdistettiin yhteen pรถydรคn tietueesta, ja sen tiedot palautettiin.

Numeroilla

Katsotaanpa nyt, kuinka voimme kรคyttรครค IN-operaattoria numeeristen arvojen kanssa.

Harkitse alla olevaa hintataulukkoa:

Hinta:

PostgreSQL Numeroilla

Voimme suorittaa seuraavan kyselyn taulukkoa vastaan:

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

Tรคmรค palauttaa seuraavan:

PostgreSQL Numeroilla

Olemme luoneet luettelon, jossa on 4 numeerista arvoa. Tarkistamme, pystymmekรถ vastaamaan jotakin nรคistรค arvoista Hintataulukon hintasarakkeen arvojen kanssa. Kaksi arvoa tรคsmรคttiin ja niiden tiedot palautettiin.

NOT-operaattorin kรคyttรถ

IN-operaattoria voidaan kรคyttรครค yhdessรค NOT-operaattorin kanssa. Se palauttaa arvot, joita ei lรถydy mรครคritetystรค sarakkeesta. Kรคytรคmme hintataulukkoa tรคmรคn osoittamiseen.

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

Tรคmรค palauttaa seuraavat tiedot:

PostgreSQL Kohdassa NOT-operaattorin kรคyttรคminen

Olemme luoneet luettelon, jossa on 4 numeerista arvoa. Tarkistamme Hintataulukon hintasarakkeesta arvot, jotka eivรคt ole luettelossa. Kahta arvoa, 250 ja 300, ei lรถytynyt. Siksi heidรคn tiedot on palautettu.

pgAdminin avulla

Katsotaan nyt, kuinka toiminnot voidaan suorittaa pgAdminilla.

Hahmon kanssa

Suorita sama pgAdminin kautta seuraavasti:

Vaihe 1) Kirjaudu sisรครคn pgAdmin-tilillesi.

Vaihe 2)

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

pgAdminin kรคyttรคminen merkkien kanssa

Vaihe 3) Kirjoita kysely kyselyeditoriin:

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

Vaihe 4) Napsauta Suorita-painiketta.

pgAdminin kรคyttรคminen merkkien kanssa

Sen pitรคisi palauttaa seuraavat tiedot:

pgAdminin kรคyttรคminen merkkien kanssa

Numeroilla

Suorita sama pgAdminin kautta seuraavasti:

Vaihe 1) Kirjaudu sisรครคn pgAdmin-tilillesi.

Vaihe 2)

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

pgAdminin kรคyttรถ numeroiden kanssa

Vaihe 3) Kirjoita kysely kyselyeditoriin:

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

Vaihe 4) Napsauta Suorita-painiketta.

pgAdminin kรคyttรถ numeroiden kanssa

Sen pitรคisi palauttaa seuraavat tiedot:

pgAdminin kรคyttรถ numeroiden kanssa

NOT-operaattorin kรคyttรถ

Suorita sama pgAdminin kautta seuraavasti:

Vaihe 1) Kirjaudu sisรครคn pgAdmin-tilillesi.

Vaihe 2)

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

NOT-operaattorin kรคyttรถ

Vaihe 3) Kirjoita kysely kyselyeditoriin:

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

Vaihe 4) Napsauta Suorita-painiketta.

NOT-operaattorin kรคyttรถ

Sen pitรคisi palauttaa seuraavat tiedot:

NOT-operaattorin kรคyttรถ

Yhteenveto

  • IN-operaattoria kรคytetรครคn WHERE-operaattorin kanssa. Sen avulla voidaan tarkistaa, onko tietty arvo tietyssรค taulukossa.
  • IN-operaattori auttaa vรคhentรคmรครคn useiden TAI-operaattoreiden tarvetta SELECT-, UPDATE-, INSERT- tai DELETE-kรคskyissรค.
  • Kun luot merkkiluetteloa arvon olemassaolon tarkistamiseksi, jokainen luettelon arvo tulee sulkea lainausmerkkien sisรคllรค.
  • IN-operaattoria voidaan kรคyttรครค myรถs numeeristen arvojen kanssa.
  • Kun IN-operaattoria kรคytetรครคn yhdessรค NOT-operaattorin kanssa, se palauttaa kaikki arvot, joita ei lรถydy mรครคritetystรค sarakkeesta.

Lataa tรคssรค opetusohjelmassa kรคytetty tietokanta

Tiivistรค tรคmรค viesti seuraavasti: