mi a PostgreSQL létezik?
az EXISTS operátor teszteli, hogy létezik-e sor(ok) egy alkérdésben. Ez azt jelenti, hogy az operátort egy alkereséssel együtt használják. Azt mondják, hogy az exist operátor akkor teljesül, ha legalább egy sor található az alkérdezésben. Ezt a műveletet a SELECT, UPDATE, INSERT és DELETE utasításokkal együtt használhatja.
ebben a PostgreSQL oktatóanyagban a következőket tanulhatja meg:
- szintaxis
- SELECT utasítással
- INSERT utasítással
- UPDATE utasítással
- DELETE utasítással
- pgadminnal
szintaxis
itt található a PostgreSQL exists utasítás szintaxisa:
WHERE EXISTS (subquery);
a fenti szintaxis azt mutatja, hogy az EXISTS operátor argumentumot vesz fel, amely egy alkérdezés. Az alkérdezés egyszerűen egy SELECT utasítás, amelynek az oszlopnevek vagy kifejezések listája helyett a SELECT * – val kell kezdődnie.
a SELECT utasítással
lássuk, hogyan kell használni a SELECT utasítást az EXISTS operátorral. A következő táblázatok vannak:
könyv:
Ár:
futtassa a következő utasítást:
SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
ez a következőt adja vissza:
a fenti parancsnak vissza kell adnia a Könyvtábla összes olyan rekordját, amelynek azonosítója megegyezik az alkérdezés bármely rekordjának azonosítójával. Csak egy azonosítót találtak. Ezért csak egy rekordot adtak vissza.
az INSERT utasítással
használhatjuk az exist operátort egy INSERT utasításban. A következő 3 táblázatunk van:
könyv:
Ár:
Ár2:
ezután futtathatjuk a következő utasítást:
INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
az ártáblázat most a következő:
az 5-ös azonosítóval rendelkező sor a Price2 nevű táblázatban megegyezett. Ezt a rekordot ezután beillesztették az Ártáblázatba.
a
frissítési utasítással az exist operátort használhatjuk egy frissítési utasításban.
futtassa a következő lekérdezést:
UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);
frissítjük az ártáblázat ár oszlopát. Célunk, hogy az azonosítót megosztó cikkek ára azonos legyen. Csak egy sor volt egyeztetve, azaz 5.
mivel azonban az árak megegyeznek, azaz 205, nem történt frissítés. Ha volt különbség, frissítés történt volna.
val vel DELETE utasítás
a PostgreSQL DELETE utasítás használhatja az EXISTS operátort. Itt van egy példa:
DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
az ártáblázat most a következő:
az 5-ös azonosítóval rendelkező sor törölve lett.
a pgAdmin
most nézzük meg, hogyan lehet ezeket a műveleteket végrehajtani a pgAdmin segítségével.
Select utasítással
ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1.lépés) Jelentkezzen be pgAdmin fiókjába.
Lépés 2)
- a bal oldali navigációs sávon kattintson az adatbázisok elemre.
- Kattintson Demo.
3. lépés) Írja be a lekérdezést a lekérdezésszerkesztőbe:
SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
4. lépés) Kattintson a Végrehajtás gombra.
vissza kell adnia a következőket:
a INSERT utasítás
elérni ugyanazt a pgAdmin, tegye ezt:
Lépés 1) Jelentkezzen be a pgAdmin fiókot.
Lépés 2)
- a bal oldali navigációs sávon kattintson az adatbázisok elemre.
- Kattintson Demo.
3. lépés) Írja be a lekérdezést a lekérdezésszerkesztőbe:
INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
4.lépés) Kattintson a Végrehajtás gombra.
az Ártáblázatnak most a következőnek kell lennie:
az UPDATE Statement
segítségével ugyanezt a pgAdmin segítségével végezheti el:
1.lépés) Jelentkezzen be pgAdmin fiókjába.
Lépés 2)
- a bal oldali navigációs sávon kattintson az adatbázisok elemre.
- Kattintson Demo.
3. lépés) Írja be a lekérdezést a lekérdezésszerkesztőbe:
UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);
4. lépés) Kattintson a Végrehajtás gombra.
az Ártáblázatnak most a következőnek kell lennie:
a DELETE utasítás
elérni ugyanazt a pgAdmin, tegye ezt:
Lépés 1) Jelentkezzen be a pgAdmin fiókot.
Lépés 2)
- a bal oldali navigációs sávon kattintson az adatbázisok elemre.
- Kattintson Demo.
3. lépés) Írja be a lekérdezést a lekérdezésszerkesztőbe:
DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
4. lépés) Kattintson a Végrehajtás gombra.
az Ártáblázatnak most a következőnek kell lennie:
Összegzés
- az EXISTS operátor teszteli, hogy létezik-e sor(ok) egy alkérdésben.
- allekérdezéssel használják, és azt mondják, hogy teljesül, ha az allekérdezés legalább egy sort ad vissza.
- a SELECT, UPDATE, INSERT és DELETE utasításokkal együtt használható.
töltse le az ebben az oktatóanyagban használt adatbázist