Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.

Slides:



Advertisements
Hasonló előadás
Koordináták, függvények
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
10. gyakorlat SQL SELECT.
Tananyag: konzultáció
2012. tavaszi félév Véső Tamás. A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 4. Előadás Az SQL adatbázisnyelv Sorváltozók Alkérdések Ismétlődő sorok Összesítések 1.
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Analitikus függvények
Analitikus, statisztikai és szélsőérték fv-k Hári Veronika
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely ABR ( Adatbázisrendszerek) 12. Előadás: 0. Egyes érdekesebb lekérdezésekről 1.NULL értékek.
Microsoft Access Lekérdezések.
Delphi programozás alapjai
Azonosítók és képzési szabályaik
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Többtáblás lekérdezések, allekérdezések Rózsa Győző
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
Adatbázis-kezelés.
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 4. Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 5. Nézettáblák létrehozása, módosítása és törlése.
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
Részletező csoportosítások Rózsa Győző
ADATBÁZIS HASZNÁLAT I. 2. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Folytassuk… (2.).
Érettségi feladatok megoldása LINQ-kel
Kényszerek megadása. Indexek kezelése.
Nézettáblák létrehozása, módosítása és törlése
Algebrai műveleti gráf optimalizálása ● Mennyi könyvet készített az idén legtöbbet kinyomtató Budapesti könyvkiadó? ● kiado(kod,nev,cim) ● konyv ( kiado,cim,ar,ev.
Microsoft Excel Függvények VIII.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL.
Az SQL nyelv alapjai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Excel Függvények Páll Boglárka.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
Részletező csoportosítások Hári Veronika
Részletező csoportosítások Rózsa Győző
Adatbázis használat I. 2. gyakorlat.
Adatbázis-kezelés SQL-lel
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
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.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
1 Informatikai Szakképzési Portál Adatbázis kezelés DQL – Adatlekérdező nyelv.
Adatbázisok gyakorlat
Ma az un. Relációs adatmodelleket használjuk.
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
2. AB gyakorlat Egytáblás csoportosító lekérdezések.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
Táblázatkezelés KÉPLETEK.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbázisok 1. SQL (alkérdések). Az IN használata Emlékezzünk vissza: Az IN után szereplő multihalmaz elemei lekérdezéssel is megadhatók SELECT nev FROM.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
SQL Több táblás lekérdezések. Halmazműveletek. Alkérdések
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
Előadás másolata:

Összesítés és csoportosítás lekérdezésekben. Halmazműveletek. 2017.04.04. sql04 csoportosítás, összesítés

Összesítés és csoportosítás 2017.04.04.

Gyűjtőfüggvények 1. Összesítő vagy aggregáló függvényeknek is nevezik őket Rekordok egy csoportjára csak egy értéket adnak vissza A NULL értékeket figyelmen kívül hagyják COUNT(mezőnév) azon rekordok száma, ahol az adott mező nem üres COUNT(*): a rekordok száma a táblában SUM(mezőnév) az adott oszlopban lévő értékek összege 2017.04.04.

Gyűjtőfüggvények 2. MIN(mezőnév) MAX(mezőnév) AVG(mezőnév) az adott oszlopban lévő értékek minimuma MAX(mezőnév) az adott oszlopban lévő értékek maximuma AVG(mezőnév) az adott oszlopban lévő értékek átlaga STDDEV(mezőnév) az adott oszlopban lévő értékek szórása VARIANCE(mezőnév) az adott oszlopban lévő értékek szórásnégyzete average standard deviation 2017.04.04.

COUNT - példák SELECT COUNT(*) FROM vevok; a vevok tábla sorainak száma SELECT COUNT(cikkszam) FROM rtetel WHERE egysegar > 100; azon rendelési tételek száma, ahol az egységár meghaladja az 100 Ft-ot 2017.04.04.

SUM - példák SELECT SUM(mennyiseg * egysegar) FROM rtetel WHERE rszam = 4; a 4-es számú rendelésen szereplő áruk összértéke SELECT SUM(mennyiseg) FROM rtetel; az összes megrendelt áru mennyisége (fajtától és mennyiségi egységtől függetlenül) 2017.04.04.

MIN, MAX, AVG - példa SELECT MIN(cikknev), MAX(egysegar), AVG(atlegysegar) FROM cikk A legolcsóbb áru, a legdrágább ár, és az ajánlott árak átlaga 2017.04.04.

STDDEV, VARIANCE példa SELECT STDDEV (egysegar), VARIANCE(atlegysegar) FROM cikk; A cikkek egységárának szórása és átlagos egységárának varianciája 2017.04.04.

Az adatok csoportosítása SELECT … FROM … [WHERE …] GROUP BY kifejezés1 [, kifejezés2 … ]; Általában összesítő függvényekkel együtt használatos A SELECT utáni kifejezéseknek vagy a GROUP BY-nál is elő kell fordulni, vagy már a SELECT-nél egy összesítő függvényben kell szerepelni 2017.04.04.

GROUP BY - 1. példa SELECT cikkszam, AVG(mennyiseg) FROM rtetel GROUP BY cikkszam; A megrendeléseken szereplő cikkek cikkszámát és az átlagos megrendelt mennyiséget kapjuk Mellékhatásként a cikkszámok növekvő rendezése is megtörténik 2017.04.04.

Csoportosítás több mező szerint A rendszer először az elsőként megadott mező értékei szerint képez csoportokat … … aztán minden csoportban alcsoportokat képez a második mező szerint … … aztán minden alcsoportban al-alcsoportokat képez a harmadik mező szerint … stb. 2017.04.04.

Csoportosítás több mező szerint - 1. példa SELECT rszam, szall_hi, sum(mennyiseg * egysegar) as ertek FROM rtetel GROUP BY rszam, szall_hi; Megadja a rendelt áruk összértékét megrendelésenként, azon belül szállítási határidő szerint csoportosítva 2017.04.04.

Csoportosítás több mező szerint - 2. példa SELECT min(nev1 || ‘ ‘ || nev2) as vevo, rtetel.rszam, sum(mennyiseg * egysegar) as ertek FROM vevok, rendel, rtetel WHERE vevok.vevokod = rendel.vevokod AND rendel.rszam = rtetel.rszam GROUP BY rendel.vevokod, rtetel.rszam; Megadja a rendelt áruk összértékét vevőnként, azon belül megrendelésenként csoportosítva Ha a GROUP BY után felcseréljük a mezőket, ugyanezeket az adatokat kapjuk, csak más sorrendben 2017.04.04.

Csoportosítás több mező szerint - 3. példa SELECT min(nev1 || ‘ ‘ || nev2) as vevo, min(cikk.cikknev), sum(mennyiseg) as mennyi, avg(egysegar) as atlagos_egysegar, sum(mennyiseg * egysegar) as ertek FROM vevok, rendel, rtetel, cikk WHERE vevok.vevokod = rendel.vevokod AND rendel.rszam = rtetel.rszam AND rtetel.cikkszam = cikk.cikkszam GROUP BY rtetel.cikkszam, rendel.vevokod; Megadja a rendelt áruk mennyiségét, átlagos egységárát és összértékét vevőnként, azon belül cikkenként csoportosítva 2017.04.04.

Feltétel megadása a csoportosított adatokra Alakja: HAVING feltétel A GROUP BY után áll A feltétel olyan, mint a WHERE után 2017.04.04.

HAVING - példa SELECT rszam, SUM(mennyiseg * egysegar) as ertek, COUNT(*) as tetelszam FROM rtetel GROUP BY rszam HAVING COUNT(*) <= 5; Megadja rendelésenként az összértéket és a tételszámot, de csak azok a megrendelések jelennek meg, amelyeken legfeljebb 5 tétel szerepel 2017.04.04.

… és még rendezni is lehet! SELECT rszam, SUM(mennyiseg * egysegar) as ertek, COUNT(*) as tetelszam FROM rtetel GROUP BY rszam HAVING COUNT(*) <= 5 ORDER BY 2; Az előző példa adatai összérték szerint rendezve 2017.04.04.

A lekérdezések végrehajtási sorrendje A rendszer kiválasztja a WHERE feltételnek eleget tevő sorokat Csoportosítja őket a GROUP BY szakasz előírásai szerint Kiszámítja minden csoportra az összesítő függvények értékét Kiválogatja a HAVING feltételnek eleget tevő sorokat Rendezi a megmaradt sorokat az ORDER BY előírásai szerint 2017.04.04.