online kép - Fájl  tube fájl feltöltés file feltöltés - adja hozzá a fájlokat online fedezze fel a legújabb online dokumentumok Kapcsolat
   
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

 

Online dokumentumok - kep
   
kategória
 

Biológia állatok Fizikai Földrajz Kémia Matematika Növénytan Számítógépes
Filozófia
Gazdaság
Gyógyszer
Irodalom
Menedzsment
Receptek
Vegyes

 
 
 
 













































 
 

Az SQL lekérdezőnyelv hasznalata

számítógépes

Fájl küldése e-mail Esszé Projekt


egyéb tételek

 
Átviteli minöséggel kapcsolatos kérdések
Outpot perifériak
SSADM Strukturalt rendszerelemzési és -tervezési módszer
Szamítógép halózatok előnyei
Automatika Segédlet Elektronikus eszközök szak II: évfolyam Nappali Müszaki Manager szak II: évfolyam Nappali
A videokonferencia mint prezentació
Hashelés és ritka indexes szervezési módszerek
Web mail és e-mail IP alapon
Kezdetek ++
Az SQL lekérdezőnyelv hasznalata
 
 

Az SQL lekérdezőnyelv használata

A különböző adatbáziskezelő rendszerek más-más lehetőségeket adnak az adatbázisban tárolt adatok visszanyerésére, lekérdezések készítésére. Használhatnak eltérő tervező felületet, vagy más programnyelvet.

Ezeknek a különbözőségeknek az áthidalására hozták létre az SQL nyelvet ( 838i86i Standard Querry Language, szabványos lekérdező nyelv). A nyelvnek lehetnek helyi változatai, de alapjaiban minden rendszerben ugyanaz.

Az SQL ún. beágyazott programnyelv, azaz más nyelvekbe (Visual Basic, Delphi) beépíthetően működik. Parancsai az adatbázisok, táblák létrehozására, módosítására, adatok beszúrására, módosítására, törlésére, lekérdezésére stb. irányulnak.

Itt most az SQL választó lekérdezést létrehozó parancsát (SELECT) tárgyaljuk.

A példákhoz a következő három táblás adatbázist tételezzük fel:

ÁRUCIKKEK: Megnevezés, Beszerzési Ár, Készlet, Szállítókód, Fajtakód

SZÁLLÍTÓK: Kód, Cégnév, Kapcsolattartó

FAJTÁK: Kód, Megnevezés

Az egyszerűség kedvéért a következőket feltételezzük:

-         minden árucik megnevezése más

-         egy adott árucikket mindig azonos szállítótól rendelünk

-         minden árucikkre azonos, 30% kiskereskedelmi árrést teszünk

A SELECT parancs általános alakja:

SELECT

          mezőlista

          FROM táblák

          WHERE rekord-szűrőfeltételek

          GROUP BY csoportosítási szempontok

          HAVING csoport-szűrőfeltételek

          ORDER BY rendezési szempontok

A lekérdezésben szereplő mezők és táblák felsorolása kötelező, a többi záradék elmaradhat.

·                  MEZŐLISTA

A lekérdezésben szereplő mezők, kifejezések neveit tartalmazza, vesszővel elválasztva. Szabályok:

- Ha az adott nevű mező egynél több (a lekérdezésben használt) táblában is benne van, akkor a táblák nevét is meg kell adni (egyébként nem kötelező – de lehet):

SELECT Árucikkek.Megnevezés, Szállítókód, AVG(Készlet) FROM Árucikkek. (Az AVG függvény átlagot számol.)

- Ha egy mező neve nem egy szóból áll, szögletes zárójelbe kell tenni: [Beszerzési Ár].

- A lekérdezés oszlopait átnevezhetjük az AS kulcsszó használatával (alapértelmezésben az oszlopok nevei megegyeznek az illető mezőnevekkel):

SELECT [Beszerzési Ár]*1.3 AS [Eladási ár] FROM Árucikkek (a szögletes zárójel azért kellett, mert az új név nem egy szóból áll).

·                  FROM záradék – a táblák listája

A lekérdezésben szereplő összes táblát fel kell sorolni, vesszőkkel elválasztva. Ha egy tábla neve nem egy szóból áll, szögletes zárójelbe kell tenni. Pl. Árucikkek, Szállítók.

·                  WHERE záradék – rekordszintű szűrés

Arra vonatkozó feltételeket adunk itt, hogy mely rekordok jelenjenek meg a lekérdezésben.

Pl. SELECT Megnevezés FROM Árucikkek WHERE [Beszerzési Ár]>5000.

Több feltételt is összekapcsolhatunk az AND („és”) illetve OR („vagy”) szavakkal. Az AND-del összekapcsolt feltételek mindegyikének teljesülnie kell ahhoz, hogy a rekord bekerüljön az eredményhalmazba, míg az OR-ral összekapcsolt feltételek egyikének teljesülése már elég.

Példák:    SELECT Megnevezés FROM Árucikkek WHERE ([Beszerzési Ár]>5000) AND (Készlet<100) (az 5000-nél drágább, kevés készletű cikkek)

SELECT Megnevezés FROM Árucikkek WHERE (Készlet<50) OR (Készlet>7000) (a nagyon kevés illetve nagyon sok készletű cikkek)

A WHERE záradékot arra is felhasználhatjuk, hogy két táblát összekapcsoljunk vele:

SELECT Megnevezés, Cégnév FROM Árucikkek, szállítók

                                                                      WHERE Szállítók.Kód=Árucikkek.Szállítókód

(Itt egy listát kapunk az árucikkekről és az adott cikket szállító cégről. A táblaneveket azért tettük ki, hogy egyértelmű legyen a feltétel megadása – nem lett volna kötelező, mert minden szereplő mezőnév egyedi, nem fordul elő két különböző táblában.)

·                  GROUP BY záradék – csoportképzés

Csoportosítási szempontokat fogalmazhatunk meg a lekérdezés számára. Példák:

-  SELECT Fajták.Megnevezés, COUNT(Árucikkek.Megnevezés) FROM Fajták, Árucikkek WHERE Árucikkek.Fajtakód=Fajták.Kód GROUP BY Fajták.Megnevezés

Itt az árucikk-fajtákat csoportosítottuk (pl. mosóporok, kenyerek, szappanok stb.), és megszámoltuk, hogy az egyes csoportokba hányfajta árucikk tartozik (a COUT függvénnyel megszámolhatunk adott tételeket). A WHERE záradékban kapcsoltuk össze a Fajták és Árucikkek táblákat (a táblanevek ismét csak a jobb érthetőség miatt vannak ott).

-  SELECT Cégnév, SUM([Beszerzési Ár]*Készlet) FROM Szállítók, Árucikkek WHERE Árucikkek.Szállítókód=Szállítók.Kód GROUP BY Cégnév

Itt azt számoltuk ki, hogy az egyes szállítóktól mekkora összegű árukészletünk van (a SUM függvénnyel adott tételek összegét kapjuk meg). A szállítók neve alapján képeztük a csoportokat, a WHERE záradékban kapcsoltuk össze a Szállítók és Árucikkek táblákat.

·                  HAVING záradék – csoportszintű feltétel

Az előző pontban ismertetett csoportosítással kapcsolatos. Itt nem az egyes rekordokra, hanem az egész csoportra adunk valamilyen feltételt.

Pl.  SELECT Cégnév, MAX([Beszerzési Ár] FROM Szállítók, Árucikkek WHERE Szállítók.Kód=Árucikkek.Szállítókód GROUP BY Cégnév HAVING MAX([Beszerzési Ár])>10000

Itt azokat a szállítókat listázzuk, akiknél a legdrágább áru ára meghaladja a 10000 Ft-ot (a MAX függvény adott tételek közül a legnagyobbat adja). A szállítók csoportjait abból a szempontból vizsgáljuk, hogy az általuk szállított áruk maximális értéke meghaladja-e a 10000-et.

·                  ORDER BY záradék – rendezés

Az eredmény-lista rendezési szempontját adjuk meg itt.

Pl.  SELECT Megnevezés, [Beszerzési Ár]*1.3 FROM Árucikkek ORDER BY Megnevezés

Ebben a listában az árucikkek nevét és eladási árát kapjuk, a neveket ABC-rendbe rakva.

SELECT Megnevezés, [Beszerzési Ár]*1.3 FROM Árucikkek

                                                                                          ORDER BY [Beszerzési Ár] DESC

Itt az árukat az eladási ár alapján visszafelé rendeztük (ezt a DESC szócska garantálja) – tehát a legdrágább van legelöl. (Igaz, hogy a beszerzési árat rendeztük, de ez a sorrend megegyezik az eladási ár szerinti sorrenddel, tekintve, hogy minden árura egyformán 30%-ot teszünk rá.)

Találat: 768