-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquery.sql
More file actions
71 lines (65 loc) · 1.79 KB
/
Copy pathquery.sql
File metadata and controls
71 lines (65 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
Query per visualizzare la classifica del campionato
*/
SELECT nome AS NomeSquadra,punti AS PuntiTotali
FROM squadra
ORDER BY punti DESC;
/*
Query per visualizzare la rosa che ha vinto il torneo
*/
SELECT G.ID, G.nome, G.ruolo, G.data_nascita, G.nazionalita
FROM giocatore G
JOIN squadra S ON G.ID_squadra = S.ID
WHERE S.punti = (
SELECT MAX(punti)
FROM squadra
);
/*
Query per visualizzare l’allenatore della squadra vincente
*/
SELECT A.ID, A.nominativo, A.data_nascita, A.nazionalita
FROM allenatore A
JOIN squadra S ON A.ID = S.ID_allenatore
WHERE S.punti = (
SELECT MAX(punti)
FROM squadra
);
/*
Query per visualizzare tutte le partite giocate da squadra
*/
SELECT P.ID, C.nome AS squadra_casa, T.nome AS squadra_trasferta, P.gol_casa,
P.gol_trasferta, P.data, P.ID_stadio, P.ID_arbitro
FROM Partita P
JOIN Squadra C ON P.ID_casa = C.ID
JOIN Squadra T ON P.ID_trasferta = T.ID
WHERE C.ID = <ID_squadra> OR T.ID = <ID_squadra>;
/*
Query per visualizzare le squadre con più gol fatti in casa
*/
SELECT S.nome AS NomeSquadra, SUM(P.gol_casa) AS gol_fatti_in_casa
FROM squadra S
JOIN partita P ON S.ID = P.ID_casa
GROUP BY S.nome
ORDER BY gol_fatti_in_casa DESC;
/*
Query per visualizzare le squadre con più gol in trasferta
*/
SELECT S.nome AS NomeSquadra, SUM(P.gol_trasferta) AS gol_fatti_fuori_casa
FROM squadra S
JOIN partita P ON S.ID = P.ID_trasferta
GROUP BY S.nome
ORDER BY gol_fatti_fuori_casa DESC;
/*
Query per visualizzare le squadre con più gol in totale
*/
SELECT squadra.nome, sum(gol) AS gol_totali
FROM (
SELECT id_casa AS id_squadra, gol_casa AS gol
FROM partita
UNION ALL
SELECT id_trasferta, gol_trasferta
FROM partita
) AS gol
JOIN squadra ON squadra.id = gol.id_squadra
GROUP BY squadra.id, squadra.nome
ORDER BY gol_totali DESC;