Databáze - Cheat sheet od Jakuba Slazyka https://www.w3schools.com/MySQL/default.asp Part 1: GROUP BY, ORDER BY, LIKE, WHERE, COUNT(), HAVING, AS, INNER JOIN, ON, AND, OR SELECT COUNT(rc_majitele) FROM hrob GROUP BY rc_majitele; Počet hrobů na rodné číslo SELECT COUNT(*) AS "Počet mrtvol" FROM `mrtvoly`; Počet mrtvol, přejmenování SELECT DISTINCT jmeno FROM `majitel` ORDER BY jmeno; Jména různých majitelů jen jednou SELECT jmeno, COUNT(jmeno) AS "Počet jmen" FROM `majitel` GROUP BY jmeno; Napíše jména a jejich počet SELECT * FROM `majitel` WHERE jmeno LIKE 'B%'; SELECT rc_majitele, COUNT(rc_majitele) FROM `hrob` GROUP BY rc_majitele HAVING COUNT(`rc_majitele`) > 1; HAVING je podmínka Part 2: INNER JOIN xxxx ON xxxx - propojení tabulek přes něco, LEFT JOIN ROUND(čislo, na kolik desetiných míst) - matematické zaokhroulení SELECT majitel.jmeno, majitel.prijmeni, majitel.rc, COUNT(hrob.id_hrobu) FROM majitel INNER JOIN hrob ON majitel.rc = hrob.rc_majitele GROUP BY rc_majitele; Napíše kolik majitel vlasní hrobů. SELECT majitel.jmeno, majitel.prijmeni, majitel.cu,ROUND(SUM(hrob.velikost)*1500, 0) AS "cena" FROM majitel INNER JOIN hrob ON majitel.rc = hrob.rc_majitele GROUP BY majitel.rc; Vypíše cenu hrobů za všchny hroby pro majitele; INNER JOIN - propojí jen to co koreluje v obou tabulkách SELECT majitel.jmeno, majitel.prijmeni, COUNT(hrob.id_hrobu) AS "Počet vlastněných hrobů" FROM majitel LEFT JOIN hrob ON majitel.rc = hrob.rc_majitele GROUP BY majitel.rc; Vypíše počet hrobů vlastněných majiteli; LEFT JOIN - přidá celou tabulku SELECT id_hrobu, hrob.umisteni, COUNT(id_hrobu) FROM hrob INNER JOIN umisteni ON hrob.umisteni = umisteni.umisteni INNER JOIN sprava ON umisteni.umisteni = sprava.umisteni WHERE sprava.umisteni = hrob.umisteni GROUP by id_hrobu; SELECT id_hrobu, hrob.umisteni, COUNT(id_hrobu) FROM hrob INNER JOIN umisteni ON hrob.umisteni = umisteni.umisteni INNER JOIN sprava ON umisteni.umisteni = sprava.umisteni WHERE sprava.umisteni = hrob.umisteni HAVING COUNT(id_hrobu) >= 2;