/* 1. feladat */
SELECT nev, mufaj
FROM zenekar
WHERE orszag = 'Magyarország';

/* 2. feladat */
SELECT nev, alapitas_eve
FROM zenekar
WHERE mufaj = 'Rock'
ORDER BY alapitas_eve DESC;

/* 3. feladat */
SELECT DISTINCT varos
FROM fesztival;

/* 4. feladat */
SELECT COUNT(id)
FROM fellepes
WHERE gazsi > 5000000;

/* 5. feladat */
SELECT nev
FROM fesztival
WHERE nev LIKE '%Sziget%' OR nev LIKE '%Sound%';

/* 6. feladat */
SELECT nev, IF(orszag='Magyarország', 'Hazai', 'Külföldi') AS statusz
FROM zenekar;

/* 7. feladat */
SELECT CONCAT(nev, ' - ', orszag) AS Info
FROM zenekar
WHERE alapitas_eve < 2000;

/* 8. feladat */
SELECT zenekar.nev
FROM zenekar, fellepes, fesztival
WHERE zenekar.id = fellepes.zenekar_id 
  AND fesztival.id = fellepes.fesztival_id
  AND fesztival.nev = 'Balaton Sound'
  AND YEAR(fellepes.datum) = 2023;

/* 9. feladat */
SELECT fellepes.datum, zenekar.nev
FROM fellepes, zenekar
WHERE fellepes.zenekar_id = zenekar.id
  AND MONTH(fellepes.datum) IN (6, 7, 8);

/* 10. feladat */
SELECT fesztival.nev, AVG(fellepes.gazsi)
FROM fesztival, fellepes
WHERE fesztival.id = fellepes.fesztival_id
GROUP BY fesztival.nev;

/* 11. feladat */
SELECT zenekar.nev, fellepes.datum
FROM zenekar, fellepes
WHERE zenekar.id = fellepes.zenekar_id
  AND fellepes.datum BETWEEN '2022-07-01' AND '2022-07-31';

/* 12. feladat */
SELECT nev
FROM zenekar
WHERE email IS NULL;

/* 13. feladat */
SELECT zenekar.nev, fellepes.gazsi
FROM zenekar, fellepes
WHERE zenekar.id = fellepes.zenekar_id
  AND fellepes.gazsi = (
      SELECT MAX(gazsi) 
      FROM fellepes
  );

/* 14. feladat */
SELECT zenekar.nev
FROM zenekar, fellepes
WHERE zenekar.id = fellepes.zenekar_id
GROUP BY zenekar.nev
HAVING COUNT(fellepes.id) > (
    SELECT COUNT(fellepes.id)
    FROM fellepes, zenekar
    WHERE fellepes.zenekar_id = zenekar.id
      AND zenekar.nev = 'Tankcsapda'
);

/* 15. feladat */
SELECT zenekar.mufaj
FROM zenekar, fellepes
WHERE zenekar.id = fellepes.zenekar_id
GROUP BY zenekar.mufaj
HAVING SUM(fellepes.gazsi) > 100000000;

/* 16. feladat */
SELECT nev 
FROM zenekar 
WHERE id NOT IN (
    SELECT fellepes.zenekar_id 
    FROM fellepes, fesztival 
    WHERE fellepes.fesztival_id = fesztival.id 
      AND fesztival.nev = 'Volt Fesztivál'
);

/* 17. feladat */
SELECT zenekar.nev, fellepes.gazsi
FROM zenekar, fellepes
WHERE zenekar.id = fellepes.zenekar_id
  AND fellepes.gazsi > (SELECT AVG(gazsi) FROM fellepes);

/* 18. feladat */
SELECT COUNT(*)
FROM (
    SELECT zenekar_id 
    FROM fellepes, fesztival 
    WHERE fellepes.fesztival_id = fesztival.id 
      AND fesztival.varos = 'Sopron'
    GROUP BY zenekar_id
) AS soproni_fellepok;

/* 19. feladat */
SELECT fellepes.datum, fellepes.gazsi
FROM fellepes
WHERE fellepes.gazsi > (
    SELECT AVG(fellepes.gazsi)
    FROM fellepes, fesztival
    WHERE fellepes.fesztival_id = fesztival.id
      AND fesztival.nev LIKE '%Sziget%'
);

/* 20. feladat */
SELECT DISTINCT z.nev
FROM zenekar z, fellepes f1, fesztival fs1, fellepes f2, fesztival fs2
WHERE z.id = f1.zenekar_id AND f1.fesztival_id = fs1.id
  AND z.id = f2.zenekar_id AND f2.fesztival_id = fs2.id
  AND fs1.nev LIKE '%Sziget%'
  AND fs2.nev LIKE '%Sound%'
  AND YEAR(fs1.kezdes) = YEAR(fs2.kezdes);