-- 1. SQL stavek prikaže vse podatke iz tabele Knjige SELECT * FROM knjige; -- 2. Iz tabele Knjige izpišemo stolpca Priimek_avtorja in Naslov SELECT priimek_avtorja, naslov FROM knjige; -- 3. Iz tabele Knjige izpišemo stolpca Priimek_avtorja in Naslov. -- Pri tem stolpca poimenujemo Pisatelj in Naslov knjige (ALIAS). SELECT priimek_avtorja AS "Pisatelj", naslov AS "Naslov knjige" FROM knjige; -- 4. Iz tabele Knjige izpišimo vsa imena in priimke avtorjev SELECT ime_avtorja, priimek_avtorja FROM knjige; -- 5. Iz tabele Knjige izpišimo vsa imena in priimke avtorjev. -- Pri tem ne izpisujemo podvojenih vrednosti. SELECT DISTINCT ime_avtorja, priimek_avtorja FROM knjige; -- 6. Iz tabele Knjige izpišimo vsa imena in priimke avtorjev. -- Pri tem ne izpisujemo podvojenih vrednosti. -- Rezultate izpišimo v enem stolpcu, ki ga poimenujemo Pisatelj. -- Namig: Uporaba funkcije CONCAT. SELECT DISTINCT CONCAT(ime_avtorja, ' ', priimek_avtorja) AS "Pisatelj" FROM knjige; -- 7. Iz tabele Knjige izpišimo vsa imena in priimke avtorjev. -- Pri tem ne izpisujemo podvojenih vrednosti. -- Izpis uredimo naraščajoče po prvem stolpcu. SELECT DISTINCT ime_avtorja, priimek_avtorja FROM knjige ORDER BY ime_avtorja ASC; -- 8. Iz tabele Knjige izpišimo vsa imena in priimke avtorjev. -- Pri tem ne izpisujemo podvojenih vrednosti. -- Izpis uredimo padajoče po priimkih. SELECT DISTINCT ime_avtorja, priimek_avtorja FROM knjige ORDER BY priimek_avtorja DESC; -- 9. Iz tabele Knjige izpišimo stolpce Leto, Naslov in Cena. -- Stolpec leto poimenujmo Leto izdaje. -- Izpis naj bo urejen padajoče po Letu, -- v primeru enakih vrednosti v stolpcu Leto naj vrstice uredi po Ceni naraščajoče. SELECT leto AS "Leto izdaje", naslov, cena FROM knjige ORDER BY leto DESC, cena ASC; -- 10. Iz tabele Knjige izpišimo stolpca Naslov in Cena. -- Dodajmo še tretji stolpec z imenom Cena s popustom. -- V tretjem stolpcu izpišimo cene znižane za 10%. SELECT naslov, cena, cena*0.9 AS "Cena s popustom" FROM knjige; -- 11. Izpišimo vse naslove knjig in cene, -- pri tem nas zanimajo samo knjige dražje od 29 EUR. SELECT naslov, cena FROM knjige WHERE cena > 29; -- 12. Izpišimo vse naslove knjig in cene, -- pri tem nas zanimajo samo knjige dražje od 29 EUR. -- Izpis uredimo po ceni padajoče. SELECT naslov, cena FROM knjige WHERE cena > 29 ORDER BY cena DESC; -- 13. Zanimajo nas naslovi vseh knjig v bazi, -- ki jih je napisal Mankell Henning. SELECT naslov FROM knjige WHERE ime_avtorja = 'Henning' AND priimek_avtorja = 'Mankell'; -- 14. Zanimajo nas naslovi, cene in leto vseh knjig v bazi, -- ki so bile izdane leta 1995 ali leta 2005. SELECT naslov, cena, leto FROM knjige WHERE leto = 1995 OR leto = 2005; -- 15. Zanimajo nas naslovi, cene in leto vseh knjig v bazi, -- ki so bile izdane v letih od 1995 do 2005 (vključno). SELECT naslov, cena, leto FROM knjige WHERE leto BETWEEN 1995 AND 2005; -- 16. Zanimajo nas naslovi, cene in leto vseh knjig v bazi, -- ki so bile izdane v letih 1992, 1995, 1998 in 2000. SELECT naslov, cena, leto FROM knjige WHERE leto IN (1992, 1995, 1998, 2000); -- 17. Zanimajo nas naslovi, cene in leto vseh knjig v bazi, -- razen tistih, ki so bile izdane v letih 1992, 1995, 1998 in 2000. SELECT naslov, cena, leto FROM knjige WHERE leto NOT IN (1992, 1995, 1998, 2000); -- 18. Zanimajo nas priimki vseh avtorjev, -- ki se pričnejo s črko M. SELECT DISTINCT priimek_avtorja FROM knjige WHERE priimek_avtorja LIKE 'M%'; -- 19. Zanimajo nas priimki vseh avtorjev, -- ki imajo na drugem mestu črko a. SELECT DISTINCT priimek_avtorja FROM knjige WHERE priimek_avtorja LIKE '_a%'; -- 20. Zanima nas koliko zapisov imamo v tabeli Knjige. SELECT COUNT(*) AS "Število zapisov" FROM knjige; -- 21. Zanima nas koliko različnih avtorjev imamo v tabeli Knjige. SELECT COUNT(DISTINCT ime_avtorja, priimek_avtorja) AS "Število avtorjev" FROM knjige; -- 22. Zanima nas koliko knjig je bilo izdanih po posameznih letih. -- Spisek naj bo urejen po letih naraščajoče. SELECT leto, COUNT(*) AS "Število knjig" FROM knjige GROUP BY leto ORDER BY leto ASC; -- 23. Zanima nas koliko knjig je bilo izdanih leta 1995. SELECT COUNT(*) AS "Število knjig" FROM knjige WHERE leto = 1995; -- 24. Zanimajo nas število knjig in leta, -- v katerih je bila izdana več kot ena knjiga. -- Spisek naj bo urejen po letih naraščajoče. SELECT leto, COUNT(*) AS "Število knjig" FROM knjige GROUP BY leto HAVING COUNT(*) > 1 ORDER BY leto ASC; -- 25. Zanimajo nas leta, -- v katerih je bila izdana več kot ena knjiga. -- Spisek naj bo urejen po letih naraščajoče. SELECT leto, COUNT(*) FROM knjige GROUP BY leto ORDER BY leto ASC; -- 26. Koliko znaša skupna cena knjig v podatkovni zbirki? SELECT SUM(cena) FROM knjige; -- 27. Koliko znaša skupna cena knjig v podatkovni zbirki, -- kolikšen je znesek DDV pri 20% davčni stopnji -- in kolikšen je skupni znesek z DDV? SELECT SUM(cena) AS "skupna cena", SUM(cena)*0.2 AS "DDV", SUM(cena)+SUM(cena)*0.2 FROM knjige; -- 28. Koliko je skupno število strani v knjigah po posameznih letih? SELECT leto, SUM(strani) AS "Skupno število strani" FROM knjige GROUP BY leto; -- 29. Oblikuj SQL niz, ki izpiše leto izdaje -- in skupno število strani v knjigah samo za leta, -- kjer je skupno število strani med 400 in 700 (vključno). SELECT leto AS "Leto izdaje", SUM(strani) AS "Skupno število strani" FROM knjige GROUP BY leto HAVING SUM(strani) BETWEEN 400 AND 700; -- 30. Koliko je povprečno število strani v knjigah, ki so v bazi? SELECT AVG(strani) AS "Povprečno število strani" FROM knjige; -- 31. Koliko znaša povprečna cena knjige izdane v letu 2001? SELECT AVG(cena) AS "Povprečna cena" FROM knjige WHERE leto = 2001; -- 32. Izpiši število strani in naslov knjige -- za tri knjige, ki imajo največ strani. SELECT strani, naslov FROM knjige ORDER BY strani DESC LIMIT 3; -- 33. Izpiši naslov knjige in ceno -- za najdražjih 10% knjig. -- Najprej z nalogo 20 preverimo, koliko knjig je v tabeli. -- 10% od tega števila vpišemo v LIMIT (npr. 20 knjig -> LIMIT 2). SELECT naslov, cena FROM knjige ORDER BY cena DESC LIMIT 2; -- 34. Izpiši leto izdaje in ceno -- za najdražje knjige po posameznih letih. -- Spisek naj bo urejen padajoče po letih. SELECT leto AS "Leto izdaje", MAX(cena) AS "Najvišja cena" FROM knjige GROUP BY leto ORDER BY leto DESC; -- 35. Izpiši leto izdaje in ceno -- za najdražjo in najcenejšo knjigo po posameznih letih. -- Spisek naj bo urejen padajoče po letih. SELECT leto AS "Leto izdaje", MAX(cena) AS "Najvišja cena", MIN(cena) AS "Najnižja cena" FROM knjige GROUP BY leto ORDER BY leto DESC; -- 36. Izpiši naslove, priimek in ime avtorja in cene -- za vse knjige, ki so do 35% cenejše od najdražje knjige. -- Spisek naj bo urejen padajoče po ceni. SELECT naslov, priimek_avtorja, ime_avtorja, cena FROM knjige WHERE cena >= (SELECT MAX(cena) FROM knjige) * 0.65 ORDER BY cena DESC;