SQL Lekérdezések
Adatbázis-lekérdezések végrehajtása : SQL SELECT és FROM záradék
Az SQL nyelvben a lekérdezések végrehajtására a SELECT és FROM záradékokat használjuk. Ezek az utasítások lehetővé teszik az adatok kiválasztását és lekérdezését az adatbázisból. Ebben a fejezetben bemutatom a SELECT és FROM záradékok használatát, valamint néhány példát adok az adatbázis-lekérdezések végrehajtására.
A SELECT utasítás használatával megadhatjuk, hogy mely oszlopokat szeretnénk kiválasztani az adatbázisból. A FROM záradék pedig meghatározza, hogy mely táblákból kívánjuk lekérdezni az adatokat.
Az alapvető formátum a következő:
SELECT column1, column2, ... FROM table_name;
A fenti példa szerint megadjuk a kívánt oszlopokat a SELECT utasításban, majd a FROM kulcsszóval megadjuk a tábla nevét, amelyből szeretnénk lekérdezni az adatokat.
Példák adatbázis-lekérdezésekre a SELECT és FROM záradékokkal:
Az összes oszlop lekérdezése egy táblából:
Az alábbi példa bemutatja, hogyan lehet az összes oszlopot lekérdezni egy táblából:
SELECT * FROM users;
A fenti példában az „users” táblából az összes oszlop kerül kiválasztásra.
Kiválasztott oszlopok lekérdezése:
Ha csak bizonyos oszlopokat szeretnénk kiválasztani, megadhatjuk azokat a SELECT utasításban. Például:
SELECT name, email FROM users;
A fenti példában csak a „name” és „email” oszlopok kerülnek kiválasztásra a „users” táblából.
Több tábla összekapcsolása:
Ha több táblából szeretnénk adatokat lekérdezni, összekapcsolhatjuk azokat a FROM záradékban. Például:
SELECT users.name, orders.order_number
FROM users JOIN orders ON users.id = orders.user_id;
A fenti példa bemutatja, hogy hogyan kapcsoljuk össze a „users” és „orders” táblákat a felhasználók nevének és a rendelésszámok lekérdezéséhez.
Az SQL SELECT és FROM záradék nagyon fontosak az adatbázis-lekérdezések végrehajtásában. Használja ezeket az utasításokat az adatok kiválasztásához és lekérdezéséhez az adatbázisból. A SELECT záradék segítségével meghatározhatja, mely oszlopokat szeretné visszakapni, míg a FROM záradék az adatok forrását határozza meg, vagyis mely táblából kíván lekérdezni.
Az SQL SELECT és FROM záradék lehetővé teszi a rugalmas adatbázis-lekérdezések végrehajtását, ahol szűrheti, csoportosíthatja, összevonhatja vagy rendezheti az adatokat a választott oszlopok alapján. Ez az alapvető ismeret nagyon hasznos az adatbázis-kezelésben és az adatfeldolgozásban.
Kapcsolódó bejegyzések
- 💻 Fekete bőrdzsekik és neonfények: Kiberpunk és hackerkultúra az irodalomban
- A 21. század vadnyugata: kiberbiztonsági fenyegetések és adatlopás a mindennapokban
- Titkos Őrzők: Hatékony Módszerek a Személyes Adatok Védelmére az Online Világban!
- 💥 Az SQL Injection – Amikor a weboldalad saját magát árulja el
- A jövő munkahelyei:
- IoT eszközök: A kényelmes élet kulcsa vagy a privát szféra végét jelentik?
-
A titkosítás evolúciója: Hogyan vált a kulcsküldés problémája a digitális kor alappillérévé?
- Az internet titkos világa – Amit nem látsz a Google-ban
ORDER BY záradék
Az ORDER BY záradékot arra használjuk, hogy egy lekérdezés eredményhalmazát egy vagy több oszlop szerint rendezzük. A rendezés lehet növekvő (ASC) vagy csökkenő (DESC) sorrendben. Alapértelmezés szerint a rendezés növekvő.
Szintaxis:
SELECT oszlop1, oszlop2, …
FROM táblanév
ORDER BY oszlop1 [ASC|DESC], oszlop2 [ASC|DESC], …;
Példák:
Tegyük fel, hogy van egy Felhasznalok táblánk a következő adatokkal:
Nev | Kor | Orszag |
Anna | 30 | Magyarorszag |
Bence | 25 | Franciaorszag |
Csaba | 35 | Magyarorszag |
Dóra | 28 | Nemetorszag |
Elemér | 25 | Magyarorszag |
Exportálás Táblázatok-fájlba
Rendezés növekvő sorrendben (Kor):
SELECT Nev, Kor
FROM Felhasznalok
ORDER BY Kor ASC;
Eredmény:
Nev | Kor |
Bence | 25 |
Elemér | 25 |
Dóra | 28 |
Anna | 30 |
Csaba | 35 |
Hardver Tudástár
Az SQL WHERE utasítása
Az SQL WHERE utasítás egy kulcsfontosságú elem az adatbázis-lekérdezésekben. Segítségével pontosan megadhatjuk a keresett adatok kritériumait, és csak azokat a rekordokat kapjuk vissza, amelyek megfelelnek ezeknek a feltételeknek. Ezáltal nagyobb rugalmasságot és precizitást nyújt az adatok lekérdezése során. Az SQL WHERE utasítás használata lehetővé teszi a specifikus adatok megtalálását az adatbázisban, és segít a pontosabb eredmények elérésében.
WHERE utasítás alapvető szintaxisa
Az SQL WHERE utasítás az alábbi módon használható:
SELECT oszlopok FROM tabla WHERE feltetelek;
Ahol:
oszlopok: A lekérdezés során visszaadott oszlopok listája vagy a wildcard (*) karakter, amely az összes oszlopot jelöli.
tabla: Az adatokat tartalmazó tábla neve.
feltetelek: A keresési feltételek, amelyeket a rekordoknak teljesíteniük kell ahhoz, hogy visszatérjenek.
Feltételek megadása a WHERE utasításban
A WHERE utasításban különböző feltételeket adhatunk meg az adatok szűréséhez. Ezek a feltételek az adatok oszlopaira vonatkozhatnak, és az alábbi összehasonlító operátorokat használhatjuk:
=: Egyenlőség operátor, amely akkor igaz, ha az érték megegyezik a feltételben megadott értékkel.
- vagy !=: Nem-egyenlőség operátor, amely akkor igaz, ha az érték nem egyezik meg a feltételben megadott értékkel.
- <: Kisebb operátor, amely akkor igaz, ha az érték kisebb, mint a feltételben megadott érték.
- >: Nagyobb operátor, amely akkor igaz, ha az érték nagyobb, mint a feltételben megadott érték.
- <=: Kisebb vagy egyenlő operátor, amely akkor igaz, ha az érték kisebb vagy egyenlő a feltételben megadott értékkel.
- >=: Nagyobb vagy egyenlő operátor, amely akkor igaz, ha az érték nagyobb vagy egyenlő a feltételben megadott értékkel.
- BETWEEN: Tartomány operátor, amely akkor igaz, ha az érték a megadott két érték közé esik.
- LIKE: Mintaillesztő operátor.
A mintaillesztő operátor (LIKE) az alábbiak szerint használható:
- %: A százalék karakter a helyettesítő karakterként működik. Például, ha %an% mintát használunk, akkor az olyan szövegrészeket találjuk meg, amelyekben az „an” karakterek bármilyen számú karakterrel előtte vagy utána találhatók. Példa: „panama”, „banana”.
- _: Az aláhúzás karakter a helyettesítő karakterként működik, de csak egyetlen karaktert helyettesít. Például, ha a_c mintát használunk, akkor az olyan szövegrészeket találjuk meg, amelyekben az „a” karakter előtt és után egy-egy karakter van. Példa: „abc”, „adc”.
- []: Zárójelben megadhatunk karaktereket, amelyek közül bármelyik egyezhet a helyén. Például, ha [abc]an mintát használunk, akkor az olyan szövegrészeket találjuk meg, amelyekben az „a”, „b” vagy „c” karakter előtt van egy „an”. Példa: „ban”, „can”.
Ezek az alapvető feltételek és operátorok lehetővé teszik a WHERE utasítás használatát az adatok pontos kiválasztására az adatbázisból.
Példák a WHERE utasítás használatára
Az összes felhasználó lekérése, akiknek a neve „John”:
SELECT * FROM users WHERE name = 'John';
Az összes rendelés lekérése, amelyek összege meghaladja az 1000-et:
SELECT * FROM orders WHERE total_amount > 1000;
Az összes termék lekérése, amelyeknek a készletmennyisége kisebb vagy egyenlő 10:
SELECT * FROM products WHERE stock_quantity <= 10;
Az összes felhasználó lekérése, akiknek az e-mail címe tartalmazza a „gmail.com” domaint:
SELECT * FROM users WHERE email LIKE '%gmail.com';
Az összes rendelés lekérése, amelyek dátuma 2022. január 1. után van:
SELECT * FROM orders WHERE order_date > '2022-01-01';
Az SQL WHERE utasítás sokoldalú eszköz az adatok kiválasztására és szűrésére az adatbázisban. A megfelelő feltételek és operátorok kiválasztása lehetővé teszi a pontos és releváns adatok megtalálását a lekérdezések során.
SQL OPERÁTOROK BEMUTATÁSA PÉLDÁKKAL
Az SQL operátorok az adatbázis-lekérdezések során használt speciális kifejezések, amelyek segítségével összetett feltételeket és összehasonlításokat hajthatunk végre az adatokon. Az operátorok lehetővé teszik a lekérdezések pontosabb és specifikusabb meghatározását, és különböző logikai műveleteket végezhetünk velük az adatokon. Ebben a fejezetben bemutatjuk az SQL operátorok néhány fontos típusát, és megadunk rájuk példákat.
NOT OPERÁTOR
A NOT operátor az ellentétét jelenti egy adott feltételnek vagy kifejezésnek. Használatakor az eredeti feltétel vagy kifejezés igaz voltának negált változatát kapjuk eredményül.
SELECT * FROM users WHERE NOT age > 18;
Ez a lekérdezés az összes felhasználót visszaadja, akiknél az életkor nem nagyobb, mint 18.
AND OPERÁTOR
Az AND operátor logikai ÉS kapcsolatot teremt két vagy több feltétel között. A lekérdezés csak akkor ad vissza eredményt, ha mind a feltételek igazak.
SELECT * FROM users WHERE age > 18 AND country = 'USA';
Ez a lekérdezés az összes olyan felhasználót visszaadja, akiknél az életkor nagyobb, mint 18, és az országuk az USA.
OR OPERÁTOR
Az OR operátor logikai VAGY kapcsolatot teremt két vagy több feltétel között. A lekérdezés eredményt ad, ha legalább az egyik feltétel igaz.
SELECT * FROM users WHERE age > 18 OR country = 'USA';
Ez a lekérdezés az összes olyan felhasználót visszaadja, akiknél az életkor nagyobb, mint 18, vagy az országuk az USA.
BETWEEN OPERÁTOR
A BETWEEN operátor segítségével tartomány alapú kereséseket hajthatunk végre. A lekérdezés csak azokat a rekordokat adja vissza, amelyek az adott tartományba esnek.
SELECT * FROM products WHERE price BETWEEN 10 AND 50;
A LIKE operátor az SQL lekérdezésekben használt operátor, amely lehetővé teszi az adatbázisban történő mintaillesztést. A LIKE operátor használatakor részleges vagy pontos illesztést végezhetünk a karakterláncokra.
Az SQL LIKE operátor a következő formában használható:
SELECT column1, column2, ... FROM table WHERE column LIKE pattern;
Ahol a „column” a kiválasztott oszlop neve, a „table” pedig a tábla neve, amelyben keresni szeretnénk. A „pattern” pedig a minta, amelyre szeretnénk illeszteni.
A LIKE operátor használható speciális karakterekkel, amelyeket a minta definiálásához használhatunk:
A „%” jel a helyettesítő karakter, amelyet bármely karakterláncra illesztünk. Például, ha az „a%” mintát használjuk, akkor az „a”-val kezdődő összes karakterláncra illesztést végzünk.
Az „_” jel a helyettesítő karakter, amelyet pontosan egy karakterre illesztünk. Például, ha az „_at” mintát használjuk, akkor az „cat”, „bat” vagy „rat” karakterláncokra illesztést végzünk.
A „[]” zárójelek közé írhatunk karaktereket vagy karaktertartományokat, amelyekre illeszteni szeretnénk. Például, ha a „[abc]” mintát használjuk, akkor az „a”, „b” vagy „c” karakterekre illesztést végzünk.
A „[^]” zárójelek közé írhatunk karaktereket vagy karaktertartományokat, amelyeket nem szeretnénk illeszteni. Például, ha a „[^abc]” mintát használjuk, akkor nem illesztjük az „a”, „b” vagy „c” karaktereket.
Például, ha szeretnénk megtalálni az összes olyan felhasználót, akiknek a neve „John”-nal kezdődik, az alábbi lekérdezést használhatjuk:
SELECT * FROM users WHERE name LIKE 'John%';
Ez a lekérdezés visszaadja az összes olyan felhasználót, akiknek a neve „John”-nal kezdődik.
A LIKE operátor nagyon hasznos, amikor részleges vagy mintaillesztésre van szükségünk az adatbázislekérdezéseinkben. Használhatjuk a kereséseket, a szűréseket és a rendezéseket is a kívánt eredmények eléréséhez.
EXISTS OPERÁTOR
Az EXISTS operátor egy másik lekérdezés eredményét használja fel, és azt ellenőrzi, hogy az eredményhalmaz üres-e vagy sem. Ha az eredményhalmaz nem üres, akkor az EXISTS operátor igaz értéket ad vissza.
SELECT * FROM users WHERE EXISTS ( SELECT * FROM orders WHERE orders.user_id = users.id );
Ez a lekérdezés az összes olyan felhasználót adja vissza, akik rendelkeznek legalább egy rendeléssel a „orders” táblában.
ANY OPERÁTOR
Az ANY operátor egy összehasonlító operátort használ, és azt ellenőrzi, hogy az adott érték bármelyik elemére igaz-e a kifejezés. Az ANY operátorral együtt használhatóak az összehasonlító operátorok, mint például az =, <>, >, stb.
SELECT * FROM products WHERE price > ANY ( SELECT price FROM products WHERE category = 'Electronics' );
Ez a lekérdezés az összes olyan terméket adja vissza, amelyek ára nagyobb, mint bármely elektronikai termék ára.
ALL OPERÁTOR
Az ALL operátor egy összehasonlító operátort használ, és azt ellenőrzi, hogy az adott érték mind az elemére igaz-e a kifejezés. Az ALL operátorral együtt használhatóak az összehasonlító operátorok, mint például az =, <>, >, stb.
SELECT * FROM products WHERE price > ALL ( SELECT price FROM products WHERE category = ‘Electronics’ ); Ez a lekérdezés az összes olyan terméket adja vissza, amelyek ára nagyobb, mint az összes elektronikai termék ára.
Az SQL operátorok segítségével hatékonyan és rugalmasan tudunk adatbázis lekérdezéseket végezni, és kifejezetten hasznosak, amikor összetett feltételeket kell megadnunk vagy specifikus adatokat szeretnénk kiválasztani a táblákból.
Fontos megjegyezni, hogy az operátorok használatakor ügyeljünk a helyes szintaxisra és a megfelelő zárójelezésre, különben hibákhoz vezethet.
Az SQL operátorok használata rendkívül sokoldalú és alkalmazható a legtöbb adatbáziskezelő rendszerben, beleértve a MySQL-t, PostgreSQL-t, SQL Server-t és másokat.
Az operátorok használatának megértése és gyakorlása rendkívül fontos ahhoz, hogy hatékonyan tudjunk adatbázislekérdezéseket írni és a kívánt eredményeket megszerezni.
Rendezés csökkenő sorrendben (Ar):
Tegyük fel, hogy van egy Termekek táblánk a következő adatokkal:
TermekNev | Ar | Kategoria |
Laptop | 1200 | Elektronika |
Egér | 25 | Elektronika |
Billentyűzet | 75 | Elektronika |
Monitor | 300 | Elektronika |
Nyomtató | 150 | Elektronika |
SELECT TermekNev, Ar
FROM Termekek
ORDER BY Ar DESC;
Eredmény:
TermekNev | Ar |
Laptop | 1200 |
Monitor | 300 |
Nyomtató | 150 |
Billentyűzet | 75 |
Egér | 25 |
Több oszlop szerinti rendezés (Varos ASC, VezetekNev ASC): Tegyük fel, hogy van egy Ugyfelek táblánk a következő adatokkal:
VezetekNev | KeresztNev | Varos |
Kovács | János | Budapest |
Nagy | Éva | Debrecen |
Kiss | Péter | Budapest |
Szabó | Mariann | Szeged |
Varga | Gábor | Debrecen |
SELECT VezetekNev, KeresztNev, Varos
FROM Ugyfelek
ORDER BY Varos ASC, VezetekNev ASC;
Eredmény:
VezetekNev | KeresztNev | Varos |
Kiss | Péter | Budapest |
Kovács | János | Budapest |
Nagy | Éva | Debrecen |
Varga | Gábor | Debrecen |
Szabó | Mariann | Szeged |