Tanítás, webfejlesztés, programozás, informatika, rock zene = ezek az oldal témái
Stúdiófelvételek. A szerzeményeimből: rockzenék, popzenék, a legjobb zenéim válogatások
A stressztűrés fontos dolog, mert a stressz kikezdi az embert
Tanítás, webfejlesztés, programozás, informatika, rock zene = ezek az oldal témái
Stúdiófelvételek. A szerzeményeimből: rockzenék, popzenék, a legjobb zenéim válogatások
A stressztűrés fontos dolog, mert a stressz kikezdi az embert
A különböző lekérdezések adatai összekapcsolhatók. mivel az SQL halmazoknak tekinti az adattáblákban lévő, illetve a SELECT utasítások által visszaadott eredményeket, ezért a logikai műveletek értelmezhetők:
Amikor egy lekérdezésben egy másik lekérdezés eredményét szeretnénk felhasználni, jól jön az SQL nyelvek egyik tulajdonsága, a lekérdezések egymásba ágyazásának lehetősége.
Ez bizonyos értelemben hasonló ahhoz, mint programozáskor egymásba ágyazott ciklusokat használunk, de mint minden hasonlat ez is sántít. A lényeg az, hogy az al-lekérdezést mindig előbb hajtja végre a szerver, mint a fő lekérdezést!
A lekérdezés eredményét csoportosíthatjuk és a csoportok között is tovább is válogathatunk a GROUP BY és HAVING alparancsokkal.
SELECT mezők FROM tábla
[WHERE feltétel]
GROUP BY mező
[HAVING csoport_feltétel];
A GROUP BY alparancs után megadott oszlop értékei alapján az addig megtalált sorokat csoportosítja az adatbázis-kezelő, és a megfelelő csoportokból egy kerül az eredménybe.
A csoportokra vonatkozólag használhatunk függvényeket, amelyek a csoportokra vonakozó értékeket számolhatnak ki.
Az eddigi lekérdezések eredményei a sorok fizikai sorrendjében kerültek kiírásra. Az SQL lehetőséget biztosít a lekérdezés eredménysorainak rendezésére az ORDER BY alparancs segítségével.
Nézzünk néhány példát a lekérdezésekre. A 12.E osztályba járó diákok adatai:
SELECT * FROM Diakok WHERE Osztaly = '12.E';
A matematikát tanító tanárok azonosítói (DISTINCT itt is használható!):
SELECT DISTINCT Tanar_azonosito FROM Orarend
WHERE Tantargy = 'matematika';
A 'C' betűvel kezdődő nevű diákok:
Amikor az adatokat több táblából kell összeszedni, akkor gondolni kell arra az esetre, hogy különböző táblákban lehetnek ugyanolyan nevű mezők, ezért ilyen esetekben az oszlopok megkülönböztetésére használjuk a táblanevet előtagként.
Általában egy lekérdezésben nem minden rekord adataira vagyunk kíváncsiak. Nem is célszerű minden rekord adatát lekérdezni a kliens oldalon, mivel az eredmény rekordszetet átadja a szerver a kliensnek és ez esetenként rengeteg adat utaztatását jelentené, ami leterheli a hálózatot és a szervert. Az eredményhalmaz szűkítéséhez tudjuk használni a WHERE feltételt
A szelekció művelet megvalósítása esetén a SELECT utasítást egy feltétellel egészítjük ki: