Az alábbi feladatok megoldása SQL nyelven látható, ha a megoldás gombra kattintasz.
1. feladat
Lekérdezéssel add meg, hogy hány „Árpádházi király” és hány „miniszterelnök” státuszú államférfi szerepel az adatbázisban!
SELECT statusz, count(statusz) AS allamferfiak_szama FROM allamferfiak GROUP BY statusz HAVING statusz="Árpádházi király" OR statusz="miniszterelnök";
2. feladat
Ki(k) volt(ak) a legtovább hivatalban lévő államférfi(ak)? Jelenítsd meg az uralkodás időtartamát is!
SELECT TOP 1 nev, max([vege]-[eleje]) AS idotartam FROM allamferfiak GROUP BY nev ORDER BY max([vege]-[eleje]) DESC;
3. feladat
Hány év telt el Orbán Viktor első uralkodásának kezdete (1998) és utolsó uralkodásának kezdete (2010) között? Készíts lekérdezést, mely a tábla adatait felhasználva kiszámítja ezt az értéket!
SELECT nev, max([eleje])-min([eleje]) AS idotartam FROM allamferfiak GROUP BY nev HAVING nev = "Orbán Viktor";
4. feladat
Írj lekérdezést, mely megadja az Árpádházi királyok számát és az összuralkodásuk idejét!
SELECT statusz, count(statusz) AS uralkodok_szama, max([vege])-min([eleje]) AS idotartam FROM allamferfiak GROUP BY statusz HAVING statusz = "Árpádházi király";
5. feladat
Lekérdezés segítségével állapítsd meg, hogy hány olyan államférfi van, akinek a nevében római szám szerepel. (NEM azt kell beleszámolni, akinek a nevében van mondjuk M betű!)
SELECT count(nev) AS [ennyien vannak] FROM allamferfiak WHERE nev LIKE "*.*";
6. feladat
Hány királyunk és hány fejedelmünk volt?
Készítsünk egy "kiralyok szama" nevű lekérdezést! SELECT count(allamferfiak.statusz) AS kiralyok FROM allamferfiak WHERE allamferfiak.statusz LIKE "*király*"; Készítsünk egy "fejedelmek szama" nevű lekérdezést! SELECT count(allamferfiak.statusz) AS fejedelmek FROM allamferfiak WHERE allamferfiak.statusz LIKE "*fejedelem*"; Most az előbbi két lekérdezést felhasználva készítsünk egy újabb lekérdezést! SELECT [fejedelmek szama].fejedelmek, [kiralyok szama].kiralyok FROM [fejedelmek szama], [kiralyok szama];
7. feladat
Mennyi az átlag uralkodási idő? Lekérdezést készítve válaszold meg a kérdést! A lekérdezésben a válasz egy tizedesjegy pontossággal íródjon ki!
SELECT avg([vege]-[eleje]) AS [átlag uralkodási idő] FROM allamferfiak;