Lekérdezések – államférfiak

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;