Lekérdezések szűrése a WHERE kulcsszóval
Amikor adatokat szeretnénk kinyerni egy adatbázisból, sokszor nincs szükségünk az összes rekordra. Ezekben az esetekben használjuk a WHERE kulcsszót arra, hogy szűrjük a kiválogatni kívánt adatokat. A WHERE kulcsszó minden esetben a FROM, JOIN, stb. kulcsszavak után következik az SQL utasításokban, de még a HAVING, GROUP BY, ORDER BY, LIMIT, stb. előtt.
A WHERE kulcsszó után megadhatjuk, hogy mik a szűrési feltételeink. A szűrőfeltételekben használhatjuk a fontosabb matematikai és logikai operátorokat:
- = egyenlőség operátor (szövegekre is használható!)
- != vagy <> nem egyenlő operátor (a MySQL mindkét jelölést támogatja – szövegekre is használható!)
- < kisebb operátor
- > nagyobb operátor
- <= kisebb vagy egyenlő operátor
- >= nagyobb vagy egyenlő operátor
A tavaszi C# alapozó bootcampünk tananyagait továbbra is megvásárolhatod! Bár az élő előadásokon már túl vagyunk, az összes előadás anyaga továbbra is visszanézhető!
Irány a bootcampValamint használhatunk további, kulcsszóval megadható logikai operátorokat is:
- NOT tagadás kulcsszó
- AND és típusú logikai kapcsolat
- OR vagy típusú logikai kapcsolat
A logikai operátorok műveleti sorrendjének szabályozásához zárójeleket is használhatunk. Nézzünk néhány egyszerű példát a WHERE kulcsszó használatára:
SELECT `iskola`, `kodjel` FROM `nevezo` WHERE `nev` = "Minta Pál"
SELECT `nev`, `jegy` FROM `jegy`
JOIN `tantargy` ON `jegy`.`targy_id` = `tantargy`.`id`
WHERE `tantargy`.`nev` = "matematika"
SELECT * FROM `beiras` WHERE `tipus` = "intő" AND `szint` = "szaktanári"
SELECT * FROM `jegy` WHERE `jegy` >= 4
A szűrőfeltételek felépítésénél persze mindig ügyeljünk az adattípusoknak megfelelő jelölésekre! A szöveges adatokat minden esetben tegyük idézőjelbe, különben a lekérdezéseink hibára futnak. A WHERE részben természetesen további kulcsszavakat, függvényeket, stb. is használhatunk, ezekről a komplexebb kifejezésekről különálló oldalakon találhatsz példákat.
Próbáld ki magad!
Készítsd el az alábbi néhány lekérdezést a MySQL homokozóban, hogy jobban megismerkedj ezekkel a lekérdezésekkel!
- Listázd ki a 9A osztályba járó diákok nevét betűrendben a diak táblából!
- Kérdezd le a beadási dátumát azoknak a megoldásoknak a megoldas táblából, amelyek pontszáma legalább 100!
- Kérdezd le az iskoláját és kódjelét azoknak a nevezőknek a nevezo táblából, akik emelt kategóriába neveztek!
- Készíts lekérdezést, amely megadja az Edme Mariotte-ról elnevezett forduló maximum pontszámát, és beadási határidejét a fordulo táblából!