Skip to content

Commit

Permalink
Update 09.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bogdandjelkovic authored Apr 25, 2024
1 parent e6f3975 commit b33913d
Showing 1 changed file with 100 additions and 0 deletions.
100 changes: 100 additions & 0 deletions vezbe/09.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
### 1. Koliko je svake godine odigrano utakmica. (godina, broj_odigranih_utakmica)

```sql
select s.godina, count(*) as broj_odigranih_utakmica
from utakmice u
inner join sezona s
on u.id_sezone = s.id
group by s.godina
```

### 2. Igrač koji je sklopio ugovor na najduži period. (id_igraca, period_u_danima)

```sql
select id_igraca, DATEDIFF(Day, datum1, datum2) as 'broj_dana'
from ugovori
where DATEDIFF(Day, datum1, datum2) =
(
select MAX(DATEDIFF(day, u.datum1, u.datum2))
from ugovori u
)
```

### 3. Za svakog igrača koliko je postigao ukupno golova računajući i autogolove(ugnježdeni).(ime, broj_golova) - nije dozvoljeno koristiti join mehanizam.

```sql
select i.ime,
(
select count(*)
from golovi g
where g.id_igraca = i.id
) as broj_golova
from igraci i
```

### 4. Spisak fudbalera koji su odigrali više od 3 utakmice u nekoj od sezona. (godina, id_igraca, broj_utakmica)

```sql
select s.godina, ug.id_igraca, count(*)
from utakmice ut
inner join sezona s
on ut.id_sezone = s.id
inner join ugovori ug
on ug.id_tima in (ut.id_domacina, ut.id_gosta) and
s.godina between year(ug.datum1) and year(ug.datum2)
group by s.godina, ug.id_igraca
having count(*) > 3
```

### 5. Rezultat svake utakmice. (id_utakmice, nazivTimaDomacina, nazivTimaGosta,rezultati) - rezultat treba da bude u formatu “brojGolovaDomacina:brojGolovaGosta

```sql
select u.id, d.naziv, g.naziv, concat(
(
select count(*)
from golovi g1
where g1.id_utakmice = u.id and g1.id_tima = u.id_domacina
),
':',
(
select count(*)
from golovi g2
where g2.id_utakmice = u.id and g2.id_tima = u.id_gosta
)) as rezultat
from utakmice u
inner join timovi d
on u.id_domacina = d.id
inner join timovi g
on u.id_gosta = g.id
```

### 6. Igrač sa najviše postignutih autogolova. (id_igraca, ime, broj_autogolova

```sql
go
create view autoGolovi
as
select g.id_igraca, i.ime, count(*) as 'broj_auto_golova'
from golovi g
inner join igraci i
on g.id_igraca = i.id
inner join utakmice u
on g.id_utakmice = u.id
inner join sezona s
on u.id_sezone = s.id
inner join ugovori ug
on
g.id_igraca = ug.id_igraca and
g.id_tima != ug.id_tima and
s.godina between year(ug.datum1) and year(ug.datum2)
group by g.id_igraca, i.ime
go

select ime, broj_auto_golova
from autoGolovi
where broj_auto_golova =
(
select max(broj_auto_golova)
from autoGolovi
)
```

0 comments on commit b33913d

Please # to comment.