Difference between revisions of "JOIN Quiz"

From SQLZOO
Jump to: navigation, search
Line 125: Line 125:
 
- gtime, mdate, stadium, match.id
 
- gtime, mdate, stadium, match.id
 
- mdate, stadium, id
 
- mdate, stadium, id
+ matchid, teamid, player, gtime, id, teamname, coach
 
 
- matchid, teamid, player, gtime, mdate, stadium, team1
 
- matchid, teamid, player, gtime, mdate, stadium, team1
 
- stadium, team1, team2
 
- stadium, team1, team2
 +
+ teamid, player, gtime, id, teamname, coach
  
 
{Select the code which shows players, their team and the amount of goals they scored against Greece(GRE).
 
{Select the code which shows players, their team and the amount of goals they scored against Greece(GRE).

Revision as of 16:37, 29 September 2012

JOIN quiz

game
id mdate stadium team1 team2
1001 8 June 2012 National Stadium, Warsaw POL GRE
1002 8 June 2012 Stadion Miejski (Wroclaw) RUS CZE
1003 12 June 2012 Stadion Miejski (Wroclaw) GRE CZE
1004 12 June 2012 National Stadium, Warsaw POL RUS
...
goal
matchid teamid player gtime
1001 POL Robert Lewandowski 17
1001 GRE Dimitris Salpingidis 51
1002 RUS Alan Dzagoev 15
1001 RUS Roman Pavlyuchenko 82
...
eteam
id teamname coach
POL Poland Franciszek Smuda
RUS Russia Dick Advocaat
CZE Czech Republic Michal Bilek
GRE Greece Fernando Santos
...

1. You want to find the stadium where player 'Dimitris Salpingidis' scored. Select the JOIN condition to use:

eteam JOIN game ON (id=team1)
eteam JOIN game ON (id=team2)
eteam JOIN goal ON (teamid=id)
game JOIN goal ON (id=matchid)
game JOIN goal ON (team1=teamid OR team2=teamid)

2. You JOIN the tables goal and eteam in an SQL statement. Indicate the list of column names that may be used in the SELECT line:

gtime, mdate, stadium, match.id
mdate, stadium, id
matchid, teamid, player, gtime, mdate, stadium, team1
stadium, team1, team2
teamid, player, gtime, id, teamname, coach

3. Select the code which shows players, their team and the amount of goals they scored against Greece(GRE).

SELECT player, COUNT(*), teamid FROM game JOIN goal ON matchid = id WHERE (team1 = "GRE" OR team2 = "GRE") AND teamid != 'GRE' GROUP BY player
SELECT player, COUNT(*), teamid FROM game JOIN goal ON matchid = id WHERE (team1 = "GRE") AND teamid != 'GRE' GROUP BY player
SELECT player, COUNT(*), teamid FROM game JOIN goal ON matchid = id WHERE (team1 = "POL" OR team2 = "POL") AND teamid != 'POL' GROUP BY player
SELECT player, COUNT(*), teamid FROM game JOIN goal WITH matchid = id WHERE (team1 = "GRE" OR team2 = "GRE") AND teamid != 'GRE' GROUP BY player
SELECT player, teamid FROM game JOIN goal ON matchid = id WHERE (team1 = "GRE" OR team2 = "GRE") AND teamid != 'GRE' GROUP BY player

4. Select the result that would be obtained from this code: SELECT teamid, mdate FROM goal JOIN game on (matchid=id) WHERE mdate = '9 June 2012'

Table-A
DEN9 June 2012
GER9 June 2012
Table-B
DEN
GER
Table-C
GRE12 June 2012
CZE12 June 2012
POL12 June 2012
RUS12 June 2012
Table-D
GRE
CZE
POL
RUS
Table-E
POL8 June 2012
GRE8 June 2012
RUS8 June 2012
CZE8 June 2012
Table-A
Table-B
Table-C
Table-D
Table-E

5. Select the code which would show the player and their team for those who have scored against Poland(POL) in National Stadium, Warsaw.

SELECT DISTINCT player, teamid FROM game JOIN goal ON matchid = id WHERE stadium = 'National Stadium, Warsaw' AND mdate IN (SELECT mdate FROM game WHERE team1 = 'GER' OR team2 = 'GER')AND teamid != 'GER'
SELECT DISTINCT player, teamid FROM game JOIN goal ON matchid = id WHERE stadium = 'National Stadium, Warsaw' AND mdate IN (SELECT mdate FROM game WHERE team1 = 'POL' OR team2 = 'POL')AND teamid != 'POL'
SELECT DISTINCT player, teamid FROM game JOIN goal ON matchid = id WHERE stadium = 'National Stadium, Warsaw' AND teamid != 'POL'
SELECT DISTINCT player, teamid FROM game JOIN goal ON matchid = id WHERE stadium = 'Stadion Miejski (Wroclaw)' AND mdate IN (SELECT mdate FROM game WHERE team1 = 'POL' OR team2 = 'POL')AND teamid != 'POL'
SELECT DISTINCT stadium, mdate FROM game JOIN goal ON matchid = id WHERE stadium = 'National Stadium, Warsaw' AND mdate IN (SELECT mdate FROM game WHERE team1 = 'POL' OR team2 = 'POL')AND teamid != 'POL'

6. Select the code which shows the player, their team and the time they scored, for players who have played in Stadion Miejski (Wroclaw) but not against Italy(ITA).

SELECT DISTINCT player, teamid, gtime FROM game JOIN goal ON matchid = id WHERE stadium = 'National Stadium, Warsaw' AND (team1 != 'ITA' AND team2 !='ITA')
SELECT DISTINCT player, teamid, gtime FROM game JOIN goal ON matchid = id WHERE stadium = 'Stadion Miejski (Wroclaw)' AND (team1 != 'ESP' AND team2 !='ESP')
SELECT DISTINCT player, teamid, gtime FROM game JOIN goal ON matchid = id WHERE stadium = 'Stadion Miejski (Wroclaw)' AND (team1 != 'ITA' AND team2 !='ITA')
SELECT DISTINCT teamid, gtime FROM game JOIN goal ON matchid = id WHERE stadium = 'Stadion Miejski (Wroclaw)' AND (team1 != 'ITA' AND team2 !='ITA')
SELECT DISTINCT player, teamid, gtime FROM game JOIN goal ON matchid = id WHERE team1 != 'ITA' AND team2 !='ITA'

7. Select the result that would be obtained from this code: SELECT teamname, COUNT(*) FROM eteam JOIN goal ON teamid = id GROUP BY teamname HAVING COUNT(*) < 3

Table-A
2
2
1
2
Table-B
Netherlands2
Poland2
Republic of Ireland1
Ukraine2
Table-C
Netherlands
Poland
Republic of Ireland
Ukraine
Table-D
Poland76
Table-E
Republic of Ireland1
Table-A
Table-B
Table-C
Table-D
Table-E

Your score is 0 / 0
Personal tools
Namespaces

Variants
Actions
Reference
Toolbox
Google AdSense