1 / 48

DQL

DQL. A select parancs az adattábla lekérdezésére szolgál, azaz a táblában tárolt adatok közül az előírt feltételeknek megfelelőket kiválogatja. Formája (egyszerű esetben): SELECT mezőnév1[, mezőnév2,...] FROM táblanév 1 [,táblanév2,..] [ WHERE feltétel];

Download Presentation

DQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DQL

  2. A select parancs az adattábla lekérdezésére szolgál, azaz a táblában tárolt adatok közül az előírt feltételeknek megfelelőket kiválogatja. Formája (egyszerű esetben): SELECT mezőnév1[, mezőnév2,...] FROM táblanév1[,táblanév2,..] [WHERE feltétel]; A [] az opcionális (választható) részeket mutatja. A SELECT kulcsszó utáni mezőnevek határozzák meg, hogy melyik oszlop adatai jelennek meg az eredményben. Tetszőleges számú oszlop adható meg, vagy a „*” jellel az összes oszlop kiválasztható.

  3. A FROM kulcsszó utáni táblanév, ill. táblanevek adja meg, hogy melyik táblá(k)ra vonatkozik a lekérdezés. Az opcionális (válaszható) WHEREzáradék határozza meg a kulcsszó utáni logikai feltétel alkalmazásával azt, hogy mely rekordok adatai lesznek benne az eredményben. Amelyik rekordra a feltétel teljesül,annak kijelölt mezői a lekérdezés eredményében megjelennek. A WHERE záradékban használható relációk: = , > , < , >= , <= , <> , predikátumok

  4. A predikátumok a feltételek egyszerűbb megadását segítik. IS – egyenlőség feltétel (pl.:IS NULL) LIKE –mintaillesztő operátor. olyan rekordok adatai választhatók ki, amelyek „hasonlóak” egy megadott mintához. A "%" jel használható joker-karakterként. (pl.: LIKE 'Er%';) BETWEEN alsóérték AND felsőértéka határok közötti értékkel rendelkező sorok kerülnek kiválasztásra (pl.BETWEEN 50 AND 100) IN (értéklista)–értékegyezés vizsgálat (pl.:IN (’1’,’2’)

  5. Alkalmazott tábla: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  6. SELECT knév, vnév, város FROM alkalmazott; EREDMÉNY???? Alkalmazott: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  7. SELECT knév, vnév, város FROM alkalmazott; John Jones45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  8. SELECT vnév, város, kor FROM alkalmazott WHERE kor > 30; Alkalmazott: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  9. SELECT vnév, város, kor FROM alkalmazott WHERE kor > 30; John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary An Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  10. SELECT knév, vnév, város, állam FROM alkalmazott WHERE knév LIKE 'J%'; Alkalmazott: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  11. SELECT knév, vnév, város, állam FROM alkalmazott WHERE knév LIKE 'J%'; John Jones 45 PaysonArizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  12. SELECT knév, vnév, kor FROM alkalmazott WHERE vnév LIKE '%illia%'; John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  13. SELECT knév, vnév, kor FROM alkalmazott WHERE vnév LIKE '%illia%'; John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  14. SELECT knév, vnév, FROM alkalmazott WHERE kor BETWEEN 30 AND 40; Alkalmazott: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  15. SELECT knév, vnév, FROM alkalmazott WHERE kor BETWEEN 30 AND 40; Alkalmazott: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  16. SELECT vnév,kor FROM alkalmazott WHERE város IN (‘Payson’, ‘Bagdad); Alkalmazott: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  17. SELECT vnév,kor FROM alkalmazott WHERE város IN (‘Payson’, ‘Bagdad), Alkalmazott: knév vnévkor városállam John Jones45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend Arizona Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  18. Matematikai műveletek Az ANSI SQL-92 szabvány a következő alapműveleteket tartalmazza + , - ,* , / Logikai műveletek feltételekben SELECT mezőnév-listaFROM táblanév-lista WHERE feltétel1 AND feltétel2; Az AND (ÉS) művelet két v. több feltétel egyidejű teljesülését kívánja meg, az OR (VAGY) viszont bármelyik feltétel teljesülésekor igaz eredményt ad.

  19. Összesítő függvények MIN adott oszlop legkisebb értéke MAX adott oszlop legnagyobb értéke SUM numerikus oszlop értékeinek összege AVG adott oszlop értékeinek átlaga COUNT adott oszlop értékeink darabszáma COUNT(*) sorok száma egy táblában Az összesítő függvények ”számértéket tartalmazó oszlopot” képeznek. Ez nem egy meglévő oszlop, hanem a SELECT parancs hatására jön létre!

  20. A GROUP BY záradék A GROUP BY záradék összegyűjti azon sorok adatait amelyek adatot tartalmaznak a kijelölt oszlopokban és lehetővé teszi összesítő függvények kiértékelését ezeken az adatokon. SELECT mezőnév1, összesítő_fv(mezőnév2)FROM táblanév-listaGROUP BY mezőnév-lista; Példa: SELECTAVG(kor)FROM alkalmazottGROUP BY város; Ez az utasítás az alkalmazott tábla rekordjait városonként csoportosítja és minden csoportra kiszámítja a kor mező átlagértékét, azaz megadja az alkalmazottak átlagos életkorát városonként.

  21. A HAVING záradék SELECT mezőnév1, összesítő_fv(mezőnév2)FROM táblanév-listaGROUP BY mezőnév-lista HAVING feltétel; A HAVING záradék azt teszi lehetővé, hogy feltételt adjunk meg a csoportokra vonatkozólag. Mindig a GROUP BY záradék után következik! Ismét egy példa: Az alkalmazotttábla tartalmazza az alkalmazott nevét, az osztályt ahol dolgozik, fizetését és életkorát. Ha az egyes osztályokon dolgozók átlagfizetése érdekel bennünket, a következő lekérdezés kell:

  22. SELECT osztály, AVG(fizetés)FROM alkalmazottGROUP BY osztály; Amennyiben csakakkor érdekes az átlagfizetés, ha 20000 fölött van, írjuk a következőt: SELECT osztály, AVG(fizetés)FROM alkalmazottGROUP BY osztályHAVINGAVG(fizetés) > 20000;

  23. AzORDER BY záradék SELECT mezőnév-listaFROM táblanév-listaORDER BY mezőnév-lista [ASC | DESC]; [ ] = opcionális Az ORDER BY egy opcionális záradék amely a lekérdezés eredményét rendezi egy v. több oszlop szerint növekedő v. csökkenő sorrendbe. ASC = növekedő sorrend, alapértelmezettDESC = csökkenő sorrend

  24. SELECT knév, vnév, kor+5 FROM alkalmazott WHERE knév LIKE ’Eric%’ AND állam=‘Arizona’; Alkalmazott tábla: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend California Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  25. SELECT knév, vnév, kor+5 FROM alkalmazott WHERE knév LIKE ’Eric%’ AND állam=‘Arizona’; Alkalmazott tábla: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend California Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 65 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  26. SELECT knév, vnév, kor FROM alkalmazott ORDER BY kor DESC; Alkalmazott tábla: knév vnévkor városállam John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend California Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona

  27. SELECT knév, vnév, kor FROM alkalmazott ORDER BY kor DESC; knév vnévkor Erica Williams 60 Mary Ann May 52 John Jones 45 Ginger Howell 42 Gus Gray 35 Eric Edwards 32 Mary Ann Edwards 32 Mary Jones 25 Sebastian Smith 23 Leroy Brown 22 Elroy Cleaver 22

  28. SELECT * FROM alkalmazott ORDER BY állam,kor; Alkalmazott tábla: knév vnévkor városállam Elroy Cleaver 22 Globe Arizona Leroy Brown 22 Pinetop Arizona John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend California Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona

  29. SELECT * FROM alkalmazott ORDER BY állam,kor DESC; knév vnévkor városállam Erica Williams 60 Show Low Arizona Mary Ann May 52 Tucson Arizona John Jones 45 Payson Arizona Ginger Howell 42 Flagstaff Arizona Gus Gray 35 Bagdad Arizona Mary Ann Edwards 32 Phoenix Arizona Mary Jones 25 Payson Arizona Leroy Brown 22 Pinetop Arizona Elroy Cleaver 22 Globe Arizona Eric Edwards 32 San Diego California Sebastian Smith 23 Gila Bend California

  30. SELECT állam, AVG (kor) FROM alkalmazott GROUP BY állam; Alkalmazott tábla: knév vnévkor városállam Elroy Cleaver 22 Globe Arizona Leroy Brown 22 Pinetop Arizona John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend California Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona

  31. SELECT állam, AVG (kor) FROM alkalmazott GROUP BY állam; állam AVG(kor) Arizona 41,6 California 37,8

  32. SELECT állam,MAX( kor) FROM alkalmazott GROUP BY állam HAVING MAX(kor)>35; Alkalmazott tábla: knév vnévkor városállam Elroy Cleaver 22 Globe Arizona Leroy Brown 22 Pinetop Arizona John Jones 45 Payson Arizona Mary Jones 25 Payson Arizona Eric Edwards 32 San Diego California Mary Ann Edwards 32 Phoenix Arizona Ginger Howell 42 Flagstaff Arizona Sebastian Smith 23 Gila Bend California Gus Gray 35 Bagdad Arizona Mary Ann May 52 Tucson Arizona Erica Williams 60 Show Low Arizona

  33. SELECT állam,MAX( kor) FROM alkalmazott GROUP BY állam HAVING MAX(kor)>35; állam MAX(kor) Arizona 60

  34. Aselectösszefoglalás: A SELECT parancshoz öt fontosabb záradék kapcsolható, amelyek közül egyetlen, a FROM a kötelező. Minden záradék számos opciót, paramétert tartalmaz. A SELECT záradékos formája: SELECT [ALL | DISTINCT] mezőnév1 [,mezőnév2 …] matematikai műveletek, aggregáló fv. FROM táblanév1[,táblanév2…][WHERE feltételek] logikai műveletek [GROUP BY mezőnév-lista][HAVING feltételek][ORDER BY mezőnév-lista [ASC | DESC] ]

  35. DDL

  36. A create table parancs új adattáblát hoz létre. Egyszerű formája: CREATE TABLE táblanév(mezőnév1 adattípus, [mezőnév2 adattípus, …mezőnévn adattípus]); Ha opcionális megszorításokat is alkalmazunk: CREATE TABLE táblanév(mezőnév1 adattípus [megszorítás],[mezőnév2 adattípus [megszorítás], …mezőnévn adattípus [megszorítás]); [ ] = opcionális Tetszőleges számú oszlop adható meg.

  37. Megszorítások: Amikor táblákat hozunk létre gyakori, hogy egy vagy több oszlopára olyan előírásokat teszünk, amelyek korlátozzák a beírható adatokat. • - UNIQUE(egyedi) megszorítást, ami azt jelenti, hogy nem lehet két v. több olyan rekord, ami az adott oszlopban azonos adatot tartalmaz. • NOT NULL megszorítás , ami kizárja hogy az oszlop üresen maradjon. • Pl.: • CREATE TABLE alkalmazott (alk_azon NUMBER(5) NOT NULLUNIQUE);

  38. A tábla elsődleges kulcsát a PRIMARY KEYmegszorítással jelezzük. CREATE TABLE alkalmazott (alk_azon NUMBER(5) NOT NULLUNIQUE,knév VARCHAR(15), vnév VARCHAR(20),kor NUMBER(3), cím VARCHAR(30),város VARCHAR(20), állam VARCHAR(20), PRIMARY KEY (alk_azon));

  39. FOREIGN KEY (idegen kulcs) • PL. • CREATE TABLE forgalom (eladó NUMBER(5) NOT NULL,számlaösszeg NUMBER(6), • FOREIGN KEY(eladó)REFERENCES alkalmazott(alk_azon)); • Az idegen kulcs megszorításban meg kell nevezni azt a mezőt, amely az idegen kulcsot tartalmazza és azt is, hogy az adott mezőnek a másik táblában mi a neve.

  40. A drop table parancs egy adattábla és összes sorának törlésére szolgál. Formája: DROP TABLE táblanév Példa: DROP TABLE alkalmazott; A tábla törléséhez a DROP TABLE kulcsszó után meg kell adni a törlendő tábla nevét. ADROP TABLE hatása nem azonos a tábla összes rekordjának törlésével, mert ez az oszlopokra vonatkozó minden információt, a megszorításokat is törli, vagyis a teljes tábla-definíció is megszűnik.

  41. Táblák összekapcsolásaSELECT parancssal • SELECT mezőnév1, mezőnév2, ..., táblanévN.mezőFROM táblanév1, táblanév2, ..., táblanévN WHERE kapcsolómező(minősített) operátor(feltétel) kapcsolómező;

  42. Táblák összekapcsolásaINNER JOIN parancssal(belső) • SELECT táblanév1.mezőnév, táblanév2.mezőnév, ... FROM táblanév1 INNER JOIN táblanév2ON táblanév1.kulcsmező = táblanév2.kulcsmező;

  43. Táblák összekapcsolásaLEFT(RIGHT) JOIN parancssal(külső) • SELECT táblanév1.mezőnév, táblanév2.mezőnév, ... FROM táblanév1 INNER JOIN táblanév2ON táblanév1.kulcsmező = táblanév2.kulcsmező;

  44. Halmazműveletek UnióSELECT.. UNION SELECT MetszetSELECT.. INTERSECT SELECT Különbség SELECT ...MINUS SELECT ...

  45. DML

  46. Az insert into parancs új sort (rekordot) ad a táblához: INSERT INTO táblanév(első mezőnév [,...utolsó mezőnév])VALUES (első érték,[...utolsó érték]); [] = opcionális Figyelem: a mezőnevek közül kizárólag azokat kell felsorolni, amelyeknek értéket adunk, vagyis nem kell a rekord összes mezőnevét megadni! Példa:INSERT INTO alkalmazott(knév, vnév, kor, város, állam)VALUES ('Luke', 'Duke', 45, 'Hazard Co', 'Georgia');

  47. Az update parancs adattábla azon rekordjainak megváltoztatására, frissítésére szolgál, amelyek kielégítik az előírt feltételeket. A feltételeket a WHERE záradék tartalmazza. Formája: UPDATE táblanévSET mezőnév = új érték [,következő mezőnév = köv. új érték...]WHERE mezőnév OPERATOR érték

  48. A delete parancs rekordok törlésére szolgál. Formája: DELETE FROM táblanévWHERE mezőnév OPERATOR érték [and|or mezőnév OPERATOR érték]; [ ] = opcionális Példák: DELETE FROM alkalmazott; Figyelem: ha nincs WHERE záradék, minden rekord törlődik! DELETE FROM alkalmazottWHERE vnév = 'May'; DELETE FROM alkalmazottWHERE knév = 'Mike' OR knév = 'Eric';

More Related