hu en sv en hu it hu en hu de hu ja hu hu hu hu hu hu hu hu hu ja hu hu hu hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu cs cs cs cs cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu en sl hu fr hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en eo eo fr en hu en hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu hu hu hu hu hu hu hu hu hu en eo eo fr en hu en hu en cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en eo eo fr en cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en hu en hu en cs hu hu hu en hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu eo eo fr en en sl hu fr hu cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu eo eo fr en en sl hu fr hu cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu en hu hu hu hu hu hu hu hu en eo eo fr en en sl hu fr hu en hu en hu cs hu hu hu hu hu hu hu es hu hu hu hu en hu hu hu en sv eo eo fr en fr en sl hu fr de hu en hu en hu en hu es hu hu hu hu hu hu hu hu es es es tr en hu hu hu hu hu hu hu hu hu fr hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en hu it hu en hu de hu ja hu hu hu hu hu es es es tr en hu
Az SQL WHERE utasítás és az operátorok bemutatása példákkal (NOT, AND, OR, BETWEEN, LIKE, IN, EXISTS, ANY, ALL) - WEBiskola
Weboldalszerkesztő (HTML, CSS, JS kódszerkesztő) HTML-színkód generátor (Hexadecimális, RGB, HSL színkód kereső)
Ebben a leckében bemutjuk a WHERE záradékot, illetve bemutatásra kerülnek a leggyakrabban használt operátorok is: NOT, AND, OR, BETWEEN, LIKE, IN, EXISTS, ANY és ALL.
Ebben a leckében megtanuljuk továbbfinomítani az SQL lekérdezéseinket, a WHERE záradékkal, utasítással, illetve bemutatásra kerülnek a leggyakrabban használt operátorok is: egyenlő, nem egyenlő (NOT), kisebb, nagyobb, kisebb vagy egyenlő, nagyobb vagy egyenlő, AND (és), OR (vagy), BETWEEN, LIKE, IN, EXISTS, ANY és ALL.
Mi az az SQL WHERE?
Az SQL WHERE utasítását arra használjuk, hogy a lekérdezést szűrni tudjuk, a lekérdezés eredményeként csak azok a rekordok kerülnek megjelenítésre, amelyek eleget tesznek a WHERE után meghatározott feltételeknek.
Csak úgy, mint a programozási nyelvekben, itt is meghatározhatunk egyszerű és összetett feltételeket, melyek során használhatunk logikai, aritmetikai és relációs operátorokat is.
A szintaktika alapvetően nagyon egyszerű, először jönnie kell a SELECT záradéknak, majd a FROM-nak és ezeket követi a WHERE.
SELECT oszlop(ok) FROM tábla WHERE feltétel(ek); Code language: SQL (Structured Query Language) (sql)
A WHERE utasítás után kell meghatároznunk azokat a feltételt vagy feltételeket, amelyeket szeretnénk, ha teljesülni. Csak azok a rekordok kerülnek majd kilistázásra, amelyek teljesítik a feltételeket.
Természetesen a WHERE záradékot nem csak SELECT esetében lehet használni, hanem UPDATE, DELETE és egyéb utasítások esetében is. De ezek a későbbi leckékben részletesebben is kifejtésre kerülnek majd.
Fentebb pár szóban már említésre került, hogy a WHERE záradék esetében használhatók operátorok, lentebb egy részletes listát találtok az összes használható operátorról egy leírással és példával együtt.
De előtte soroljuk fel tételesen az SQL operátorait:
Az egyenlő operátorral konkrét egyenlőséget vizsgálhatunk. Csak azok a rekordok lesznek kilistázva, amelyek esetében a feltételnél megadott kulcs és érték teljes egyezőséget mutat.
WHERE oszlop = érték; Code language: SQL (Structured Query Language) (sql)
A “oszlop” helyére kell megadnunk azt, hogy melyik oszlop a helyére, az “érték” helyére pedig azt, hogy milyen értéket várunk.
SELECT * FROM sql_table WHERE vezeteknev="Horváth"; Code language: SQL (Structured Query Language) (sql)
A nagyobb operátorral azokat a rekordokat szűrhetjük ki, amelyek esetében a vizsgált oszlop értéke nagyobb az általunk meghatározott értéknél.
Az “oszlop” helyére kell megadnunk azt az oszlopot, amelyikre szeretnénk a vizsgálatot megtenni, az “érték” helyére pedig azt az értéket kell megadnunk, amelynél nagyobbakat keresünk.
SELECT * FROM sql_table WHERE szuletesi_ev>2000; Code language: SQL (Structured Query Language) (sql)
A kisebb operátorral azokat a rekordokat szűrhetjük ki, amelyek esetében a vizsgált oszlop értéke kisebb az általunk meghatározott értéknél.
WHERE oszlop < érték; Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére kell megadnunk azt az oszlopot, amelyikre szeretnénk a vizsgálatot megtenni, az “érték” helyére pedig azt az értéket kell megadnunk, amelynél kisebbeket keresünk.
SELECT * FROM sql_table WHERE szuletesi_ev<2000; Code language: SQL (Structured Query Language) (sql)
Nagyobb vagy egyenlő operátor
A nagyobb vagy egyenlő operátorral azokat a rekordokat szűrhetjük ki, amelyek esetében a vizsgált oszlop értéke nagyobb vagy egyenlő az általunk meghatározott értéknél.
WHERE oszlop >= érték; Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére kell megadnunk azt az oszlopot, amelyikre szeretnénk a feltételvizsgálatot végrehajtani, az “érték” helyére pedig azt az értéket kell megadnunk, amelynél nagyobb vagy egyenlő oszlopértékeket keresünk.
SELECT * FROM sql_table WHERE szuletesi_ev>=1961; Code language: SQL (Structured Query Language) (sql)
Kisebb vagy egyenlő operátor
A kisebb vagy egyenlő operátorral azokat a rekordokat szűrhetjük ki, amelyek esetében a vizsgált oszlop értéke kisebb vagy egyenlő az általunk meghatározott értéknél.
WHERE oszlop <= érték; Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére kell megadnunk azt az oszlopot, amelyikre szeretnénk a feltételvizsgálatot végrehajtani, az “érték” helyére pedig azt az értéket kell megadnunk, amelynél kisebb vagy egyenlő oszlopértékeket keresünk.
SELECT * FROM sql_table WHERE szuletesi_ev<=2005; Code language: SQL (Structured Query Language) (sql)
Nem egyenlő vagy NOT operátor
Csak azok a rekordok kerülnek kilistázásra, amelyek esetében a vizsgált oszlop értéke nem egyezik meg a megadott értékkel.
Jelölése:   vagy != vagy NOT
WHERE oszlop   érték; Code language: SQL (Structured Query Language) (sql)
WHERE oszlop != érték; Code language: SQL (Structured Query Language) (sql)
WHERE NOT oszlop = érték; Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére megadjuk a vizsgálandó oszlopot, míg az “érték” helyére azt az értéket, amellyel nem szeretnénk, ha egyenlő lenne az oszlop.
SELECT * FROM sql_table WHERE szuletesi_ev!=2005; vagy SELECT * FROM sql_table WHERE szuletesi_ev 2005; vagy SELECT * FROM sql_table WHERE NOT szuletesi_ev=2005; Code language: SQL (Structured Query Language) (sql)
Az AND operátor kicsit eltér az előzőektől, hiszen ezzel nem egy konkrét oszlop és a hozzákapcsolódó érték viszonyát tudjuk meghatározni, hanem segítségével több feltételt tudunk összefűzni. Az AND operátor megszabja, hogy csak azok a rekordok legyenek kilistázva, amelyek esetében az összes feltétel teljesül.
WHERE feltétel1 AND feltétel2 ...; Code language: SQL (Structured Query Language) (sql)
Az egyes feltételeket az AND kulcsszóval fűzzük össze. Tetszőleges számú feltételt adhatunk meg.
SELECT * FROM sql_table WHERE szuletesi_ev>1985 AND szuletesi_ev<2005; Code language: SQL (Structured Query Language) (sql)
Az OR az előző operátorhoz hasonlóan több feltétel összekapcsolására használható. Viszont ebben az esetben nem csak azok a rekordok kerülnek kilistázásra, amelyek esetében az összes feltétel teljesül, hanem azok is, amelyek esetében csak a feltételek egy része.
WHERE feltétel1 OR feltétel2 ...; Code language: SQL (Structured Query Language) (sql)
A feltételek összefűzése az OR kulcsszóval történik. A feltételek száma, csak úgy mint az AND esetében, itt is tetszőleges.
SELECT * FROM sql_table WHERE lakhely="Budapest" OR lakhely="Debrecen"; Code language: SQL (Structured Query Language) (sql)
A BETWEEN operátorral megadhatjuk, hogy egy rekord csak akkor kerüljön megjelenítésre, ha az értéke két végpont közé esik.
WHERE oszlop BETWEEN érték1 AND érték2; Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére azt az oszlopot kell megadni, amelyen a vizsgálatot szeretnénk végezni, majd ezt követi a BETWEEN kulcsszó, amely után a két végpont értékét kell megadnunk, amely közé szeretnénk, hogy essenek az eredmények.
SELECT * FROM sql_table WHERE szuletesi_ev BETWEEN 1985 AND 1989; Code language: SQL (Structured Query Language) (sql)
A LIKE operátort arra lehet használni, hogy egy adott mintának (patern) megfelelő oszlopértékeket keressünk.
WHERE oszlop LIKE minta; Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére megadjuk azt, hogy melyik oszlopra szeretnénk mintát keresni, míg a “minta” helyére azt, hogy milyen minta alapján szeretnénk keresni.
A minták felépítése során helyettesítő karaktereket (wildcard) használhatunk. A két leggyakrabban használt helyettesítő karakter:
% vagy *: bármennyi karakter helyettesítésére alkalmas
_ vagy ?: egyetlen egy karakter helyettesítésére alkalmas
Megjegyzés: A * és a ? a Microsoft Access-ben használhatóak.
A következő példán keresztül sokkal könnyebben érthető lesz a LIKE használata.
SELECT * FROM sql_table WHERE vezeteknev LIKE "L%"; Code language: SQL (Structured Query Language) (sql)
A fenti példa szerint megadtuk, hogy a “vezeteknev” oszlopnak nagy L betűvel kell kezdődnie, amelyet több karakter is követ, így listázásra kerül Lakatos és Losonczi is. Ha “L_”-t adtunk volna meg, akkor semmi sem került volna kilistázásra, mert nincs olyan, amit csak egyetlen egy karakter követ a nagy L után.
Az IN operátorral egy halmazt határozhatunk meg, amelynek elemeit elfogadunk a vizsgált oszlop értékéül.
WHERE oszlop IN (értékek); Code language: SQL (Structured Query Language) (sql)
Az “oszlop” helyére azt az oszlopot kell megadni, amelyre szeretnénk az IN kulcsszó után következő halmaz értékeit vizsgálni.
SELECT * FROM sql_table WHERE lakhely IN ("Debrecen", "Nyíregyháza"); Code language: SQL (Structured Query Language) (sql)
Mivel az IN után szereplő halmazban a Debrecen és a Nyíregyháza szerepelt, így a lekérdezés eredményei között megjelenik az összes olyan rekord, ahol a lakhely az előbb említett kettő közül valamelyik.
Az EXISTS operátorral azt tudjuk tesztelni, hogy az allekérdezésnek van-e eredménye vagy sem. Ha az allakérdezés rekorddal vagy rekordokkal tér vissza, akkor az EXISTS operátor TRUE (igaz) értéket ad vissza, ellenkező esetben FALSE-t, azaz hamist.
WHERE EXISTS (allekérdezés); Code language: SQL (Structured Query Language) (sql)
A WHERE záradék és az EXISTS operátor után szimplán adjuk meg zárójelek közé az allekérdezést.
SELECT * FROM sql_table WHERE EXISTS (SELECT * FROM sql_table WHERE lakhely="Budapest"); Code language: SQL (Structured Query Language) (sql)
Az allekérdezésben azt vizsgáltuk, hogy van-e budapesti lakhellyel rendelkező személy, és mivel van, így az egész főlekérdezés lefut. Amennyiben nem lenne budapesti lakos, úgy a főlekérdezés sem kerülne kiértékelésre, hiszen az EXISTS operátor hamis értékkel térne vissza.
Csak úgy, mint az előző operátor, ez is egy logikai értékkel tér vissza: igazzal, ha van olyan rekord, amely eleget tesz az allekérdezésnek, és hamissal, ha egyetlen egy rekord sem tesz eleget az allekérdezésnek.
WHERE oszlop operátor ANY (allekérdezés); Code language: SQL (Structured Query Language) (sql)
A WHERE után meg kell adnunk egy oszlopot, majd egy értékösszehasonlító operátort, amely lehet: =,  , !=, >,  =, <=. Ezt követi az ANY operátor és a zárójelek között az allekérdezés.
SELECT * FROM sql_table WHERE keresztnev = ANY (SELECT keresztnev FROM sql_table WHERE lakhely="Budapest"); Code language: SQL (Structured Query Language) (sql)
Mivel van olyan rekord, amely eleget tesz az allekérdezésnek, így a főlekérdezés is kiértékelésre kerül.
Az előző operátorral szemben itt nem elég, hogy legyen egy olyan rekord, amely megfelel az allekérdezésnek, az ALL operátor használatakor minden rekordnak meg kell felelni az allekérdezésben támasztott feltételeknek. Akkor tér vissza TRUE értékkel, ha az összes rekord megfelel az allekérdezésnek, minden ellenkező esetben FALSE értékkel tér vissza.
WHERE oszlop operátor ALL (allekérdezés); Code language: SQL (Structured Query Language) (sql)
A WHERE után meg kell adnunk egy oszlopot, majd egy értékösszehasonlító operátort, amely lehet: =,  , !=, >,  =, <=. Ezt követi az ALL operátor és a zárójelek között az allekérdezés.
SELECT * FROM sql_table WHERE ID = ANY (SELECT ID FROM sql_table WHERE lakhely="Budapest"); Code language: SQL (Structured Query Language) (sql)
Mivel nem mindegyik rekord tesz eleget a “lakhely” egyenlő “Budapest” feltételnek, így végül egy rekord sem kerül kilistázásra.
Ha hasznos volt számodra, akkor kérlek oszd meg másokkal is, hogy ezzel támogass minket!
Az adatbázis-kezelés alapjai (SQL alapok)
Adatbázis törlése SQL-ben: DROP DATABASE utasítás példákkal
MySQL lekérdezés készítése PHP-ban (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
SQL LIMIT, SELECT TOP, FETCH FIRST, ROWNUM utasítások bemutatása példákkal
#MySQL #MySQL adatbázis-kezelés #MySQL alapok #MySQL ismeretek #MySQL leckék magyarul #sql #sql alapok #sql alapok kezdőknek #sql all magyar #sql any magyar #sql exists magyar #sql in #sql ismeretek #SQL magyarul #sql not #sql or #sql programozás #webfejlesztés #webprogramozás alapjai #webprogramozás alapok
Mi az az adatbázis-kezelés és SQL? – Adatbázis, relációs adatbázis, SQL fogalmak és példák
SQL szerver telepítése XAMPP segítségével: MySQL, phpMyAdmin és Apache
SQL nyelvi elemek csoportosítása: adatdefiníciós, adatlekérdező, adatmanipulációs, adatelérést vezérlő nyelv (DDL, DQL, DML, DCL utasítások)
Megszorítások, megkötések, kényszerfeltételek SQL adatbázis-kezelő rendszerben (NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT)
Adatbázis létrehozása SQL-ben: CREATE DATABASE utasítás példákkal
Adatbázis törlése SQL-ben: DROP DATABASE utasítás példákkal
Tábla létrehozása SQL adatbázisban: CREATE TABLE utasítás példákkal
Tábla módosítása SQL adatbázisban: ALTER TABLE utasítás példákkal (ADD, DROP COLUMN, ALTER/MODIFY COLUMN)
Tábla törlése SQL adatbázisban: DROP TABLE és TRUNCATE TABLE utasítások példákkal
Rekord hozzáadása SQL adatbázis táblájához: INSERT INTO utasítás példákkal
Rekord törlése SQL adatbázis táblájából: DELETE utasítás példákkal
Rekord módosítása, frissítése SQL adatbázis táblájában: UPDATE utasítás példákkal
SQL SELECT és FROM záradék használata (Adatbázis-lekérdezések utasításai példákkal)
Az SQL WHERE utasítás és az operátorok bemutatása példákkal (NOT, AND, OR, BETWEEN, LIKE, IN, EXISTS, ANY, ALL)
Az SQL ORDER BY záradék használata (Adatbázis-lekérdezések utasításai példákkal)
Az SQL GROUP BY záradék használata (Adatbázis-lekérdezések utasításai példákkal)
Elsődleges és idegen kulcs használata SQL-ben -PRIMARY KEY, FOREIGN KEY megszorítások bemutatása példákkal
SQL táblák összekapcsolása: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN (Adatbázis-lekérdezések utasításai példákkal)
Az adatbázis-kezelés alapjai (SQL alapok)
Az SQL HAVING záradék használata (Adatbázis-lekérdezések utasításai példákkal)
Az SQL SELECT DISTINCT záradék használata (Adatbázis-lekérdezések utasításai példákkal)
SQL AUTO INCREMENT utasítás (Adatbázismező értékének automatikus növelése)
SQL álnév (alias) használata adatbázis-lekérdezés során
SQL aggregáló, összesítő függvények: MIN, MAX, COUNT, AVG, SUM
SQL LIMIT, SELECT TOP, FETCH FIRST, ROWNUM utasítások bemutatása példákkal
Index létrehozása SQL adatbázis-kezelőben (SQL CREATE és DROP INDEX utasítás)
Dátumok kezelése MySQL adatbázis-kezelőben (MySQL dátum és idő adattípusok)