-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathThe_JOIN_operation.sql
71 lines (58 loc) · 1.47 KB
/
The_JOIN_operation.sql
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
--1
SELECT matchid, player FROM goal
WHERE teamid = 'GER'
--2
SELECT id,stadium,team1,team2
FROM game ga
where ga.id='1012'
--3
SELECT player,teamid, stadium, mdate
FROM game JOIN goal ON (id=matchid)
where teamid='GER'
--4
select team1, team2, player from game ga join goal g on g.matchid=ga.id where player LIKE 'Mario%'
--5
SELECT player, teamid, coach, gtime
FROM goal go
JOIN eteam et on go.teamid=et.id
WHERE gtime<=10
--6
select mdate, eteam. teamname from game
join eteam on team1=eteam.id
where eteam.coach='Fernando Santos'
--7
select player from goal go
join game ga on go.matchid=ga.id
where ga.stadium='National Stadium, Warsaw'
--8
SELECT distinct(player)
FROM game JOIN goal ON matchid = id
WHERE (team1='GER' or team2='GER') and teamid!='GER'
--9
SELECT teamname, COUNT(teamname)
FROM eteam JOIN goal ON id=teamid
GROUP BY teamname
--10
select stadium, count(stadium) from game ga
join goal go on ga.id=go.matchid
group by stadium
--11
SELECT matchid, mdate, count(matchid)
FROM game JOIN goal ON matchid = id
WHERE (team1 = 'POL' OR team2 = 'POL')
group by matchid, mdate
--12
select matchid, mdate, count(matchid)
from game
join goal on id=matchid
where teamid='GER'
group by matchid, mdate
--13
SELECT mdate,
team1,
SUM(CASE WHEN teamid=team1 THEN 1 ELSE 0 END) AS score1,
team2,
SUM(CASE WHEN teamid=team2 THEN 1 ELSE 0 END) AS score2
FROM game left JOIN goal ON matchid = id
group by mdate, team1, team2
order by mdate, matchid, team1 and team2