Tehnička škola Zagreb — 3. razred

SQL Vježbaonica

Dizajn baza podataka  ·  Tema: Sportska Nogometna Liga

Baza dostupna — spojen sam
Host
46.224.157.191
Port
3036
Database
Rezultati
User
root

Tablice u bazi

6 tablica

Pregled podataka

prvih 10 redaka

id ime prezime pozicija tim_id broj_dresa datum_rodenja
1 Danijel Zagorac Vratar 1 1 2000-03-15
2 Arijan Ademi Veznjak 1 6 1991-05-29
3 Bruno Petković Napadač 1 17 1994-09-26
4 Lovre Kalinić Vratar 2 1 1990-04-03
5 Mario Vušković Branič 2 5 2002-01-23
6 Marko Livaja Napadač 2 10 1993-08-26
7 Ivan Nevistić Vratar 3 1 1997-07-05
8 David Čolina Branič 3 3 1997-08-17
9 Andrija Balić Napadač 3 9 1997-09-22
10 Amer Šilić Vratar 4 30 2000-11-08

id utakmica_id igrac_id minuta boja
1 1 2 45 Žuti
2 1 5 60 Žuti
3 3 16 30 Žuti
4 3 18 55 Žuti
5 4 8 22 Žuti
6 4 6 89 Žuti
7 5 11 75 Crveni
8 5 3 80 Žuti
9 7 9 45 Žuti
10 7 7 70 Žuti

utakmica_id gol_domacin gol_gost
1 2 1
2 1 1
3 3 0
4 2 2
5 0 2
6 1 2
7 4 1
8 2 0
9 0 3
10 2 1

id utakmica_id igrac_id minuta tip_gola
1 1 3 23 Iz igre
2 1 6 45 Penal
3 1 2 78 Iz igre
4 2 12 35 Iz igre
5 2 9 67 Iz igre
6 3 15 12 Iz igre
7 3 15 44 Iz igre
8 3 15 88 Iz igre
9 4 6 15 Iz igre
10 4 9 30 Penal

id naziv grad trener osnovan_god boja
1 HNK Dinamo Zagreb Sergej Jakirović 1945 Plava i bijela
2 HNK Hajduk Split Gennaro Gattuso 1911 Bijela i plava
3 HNK Rijeka Rijeka Željko Sopić 1946 Bijela i plava
4 NK Osijek Osijek Ante Šimundža 1947 Narančasta i crna
5 NK Slaven Belupo Koprivnica Mario Cvitanović 1907 Plava i žuta
6 FC Varaždin Varaždin Ivan Prelec 1931 Crvena i plava

id domacin_id gost_id datum stadion sezona
1 1 2 2024-10-05 Maksimir 2024/25
2 3 4 2024-10-06 Rujevica 2024/25
3 5 6 2024-10-07 Koprivnica Park 2024/25
4 2 3 2024-10-19 Poljud 2024/25
5 4 1 2024-10-20 Gradski vrt 2024/25
6 6 5 2024-10-21 Anker 2024/25
7 1 3 2024-11-02 Maksimir 2024/25
8 2 4 2024-11-03 Poljud 2024/25
9 5 1 2025-02-15 Koprivnica Park 2024/25
10 4 6 2025-02-16 Gradski vrt 2024/25

SQL Zadaci

16 zadataka  ·  4 kategorije

ORDER BY / LIMIT / LIKE

4 zadatka
1

Ispiši sve igrače sortirane po prezimenu abecedno (A → Z).

ORDER BY prezime ASC
2

Prikaži 5 igrača s najvećim brojem dresa.

ORDER BY broj_dresa DESC LIMIT 5
3

Pronađi sve igrače čije prezime počinje slovom 'K'.

WHERE prezime LIKE 'K%'
4

Pronađi sve utakmice čiji stadion u nazivu sadrži riječ 'Park'.

WHERE stadion LIKE '%Park%'

Tekstualne funkcije

4 zadatka
5

Prikaži puno ime svakog igrača velikim slovima (npr. 'IVAN HORVAT').

CONCAT(ime, ' ', prezime) UPPER()
6

Ispiši naziv tima i duljinu naziva, sortirano od najduljeg prema najkraćem.

LENGTH(naziv) ORDER BY LENGTH(naziv) DESC
7

Prikaži prvih 5 slova naziva stadiona za svaku utakmicu.

LEFT(stadion, 5) -- ili SUBSTRING(stadion, 1, 5)
8

Prikaži nazive timova pri čemu je 'FC' zamijenjeno s 'Nogometni klub'.

REPLACE(naziv, 'FC', 'Nogometni klub')

Datumske i vremenske funkcije

4 zadatka
9

Koliko godina ima svaki igrač? Ispiši ime, prezime i broj godina.

TIMESTAMPDIFF(YEAR, datum_rodenja, CURDATE()) AS godine
10

Prikaži datum svake utakmice u formatu 'DD.MM.YYYY'.

DATE_FORMAT(datum, '%d.%m.%Y')
11

Koliko je igrača rođeno u svakom mjesecu? Sortiraj po broju igrača silazno.

MONTH(datum_rodenja) GROUP BY COUNT(*) AS broj
12

Prikaži sve utakmice odigrane u 2024. godini.

WHERE YEAR(datum) = 2024

GROUP BY / HAVING / Agregacija

4 zadatka
13

Koliko igrača ima svaki tim? Prikaži naziv tima i broj igrača, sortiraj silazno.

JOIN timovi GROUP BY tim_id COUNT(*) ORDER BY COUNT(*) DESC
14

Koji tim je zabio najviše golova ukupno? (tablice: strijelci → igraci → timovi)

JOIN igraci ON igrac_id JOIN timovi ON tim_id GROUP BY COUNT(*) LIMIT 1
15

Ispiši utakmice u kojima je zabijeno više od 3 gola ukupno.

GROUP BY utakmica_id COUNT(*) AS ukupno HAVING ukupno > 3
16

Ispiši prosjek golova domaćih timova po utakmici za svaki tim.

JOIN timovi ON domacin_id JOIN rezultati AVG(gol_domacin) GROUP BY domacin_id