Difference between revisions of "JOIN Quiz"

From SQLZOO
Jump to: navigation, search
(Created page with "JOIN quiz <quiz shuffle=none display=simple> {Which of following would show all the previous men's singles table tennis gold medalists? |type="()"} - SELECT country.name, colo...")
 
m (Added distinct to question 4)
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
JOIN quiz
 
JOIN quiz
<quiz shuffle=none display=simple>
+
<div class="ref_section">
{Which of following would show all the previous men's singles table tennis gold medalists?
+
<table class='db_ref'>
|type="()"}
+
<caption>game</caption>
- SELECT country.name, color FROM ttms JOIN country ON (ttms.country=country.id) WHERE color = 'gold'
+
<tr>
- SELECT who, country.name, color FROM ttms JOIN country (ttms.country=country.id) WHERE color = 'gold'
+
<th>id</th>
+ SELECT who, country.name, color FROM ttms JOIN country ON (ttms.country=country.id) WHERE color = 'gold'
+
<th>mdate</th>
- SELECT who, country.name, color FROM ttms JOIN country ON (ttms.country=country.id) WHERE color = 'silver'
+
<th>stadium</th>
- SELECT who, country.name, color FROM ttms JOIN country WITH (ttms.country=country.id) WHERE color = 'gold'
+
<th>team1</th>
 +
<th>team2</th>
 +
</tr>
 +
<tr>
 +
<td>1001</td>
 +
<td>8 June 2012</td>
 +
<td>National Stadium, Warsaw</td>
 +
<td>POL</td>
 +
<td>GRE</td>
 +
</tr>
 +
<tr>
 +
<td>1002</td>
 +
<td>8 June 2012</td>
 +
<td>Stadion Miejski (Wroclaw)</td>
 +
<td>RUS</td>
 +
<td>CZE</td>
 +
</tr>
 +
<tr>
 +
<td>1003</td>
 +
<td>12 June 2012</td>
 +
<td>Stadion Miejski (Wroclaw)</td>
 +
<td>GRE</td>
 +
<td>CZE</td>
 +
</tr>
 +
<tr>
 +
<td>1004</td>
 +
<td>12 June 2012</td>
 +
<td>National Stadium, Warsaw</td>
 +
<td>POL</td>
 +
<td>RUS</td>
 +
</tr>
 +
<tr>
 +
<td colspan='5'>...</td>
 +
</tr>
 +
</table>
  
{Which of the following shows the chinese woman's singles winners in the Seoul and Barcelona games?
+
<table class='db_ref'>
|type="()"}
+
<caption>goal</caption>
- SELECT city FROM ttws JOIN games ON (ttws.games=games.yr) WHERE city IN ('Barcelona', 'Seoul') AND ttws.country = 'CHN'
+
<tr>
- SELECT who, city FROM ttws JOIN games IN (ttws.games=games.yr) WHERE city IN ('Barcelona', 'Seoul') AND ttws.country = 'CHN'
+
<th>matchid</th>
- SELECT who, city FROM ttws JOIN games ON (ttws.games=games.yr) WHERE city IN ('Barcelona', 'Atlanta') AND ttws.country = 'CHN'
+
<th>teamid</th>
+ SELECT who, city FROM ttws JOIN games ON (ttws.games=games.yr) WHERE city IN ('Barcelona', 'Seoul') AND ttws.country = 'CHN'
+
<th>player</th>
- SELECT who, city FROM ttws JOIN games ON (ttws.games=games.yr) WHERE city IN ('Beijing', 'Seoul') AND ttws.country = 'CHN'
+
<th>gtime</th>
 +
</tr>
 +
<tr>
 +
<td>1001</td>
 +
<td>POL</td>
 +
<td>Robert Lewandowski</td>
 +
<td>17</td>
 +
</tr>
 +
<tr>
 +
<td>1001</td>
 +
<td>GRE</td>
 +
<td>Dimitris Salpingidis</td>
 +
<td>51</td>
 +
</tr>
 +
<tr>
 +
<td>1002</td>
 +
<td>RUS</td>
 +
<td>Alan Dzagoev</td>
 +
<td>15</td>
 +
</tr>
 +
<tr>
 +
<td>1001</td>
 +
<td>RUS</td>
 +
<td>Roman Pavlyuchenko</td>
 +
<td>82</td>
 +
</tr>
 +
<tr>
 +
<td colspan='5'>...</td>
 +
</tr>
 +
</table>
  
 +
<table class='db_ref'>
 +
<caption>eteam</caption>
 +
<tr>
 +
<th>id</th>
 +
<th>teamname</th>
 +
<th>coach</th>
 +
</tr>
 +
<tr>
 +
<td>POL</td>
 +
<td>Poland</td>
 +
<td>Franciszek Smuda</td>
 +
</tr>
 +
<tr>
 +
<td>RUS</td>
 +
<td>Russia</td>
 +
<td>Dick Advocaat</td>
 +
</tr>
 +
<tr>
 +
<td>CZE</td>
 +
<td>Czech Republic</td>
 +
<td>Michal Bilek</td>
 +
</tr>
 +
<tr>
 +
<td>GRE</td>
 +
<td>Greece</td>
 +
<td>Fernando Santos</td>
 +
</tr>
 +
<tr>
 +
<td colspan='5'>...</td>
 +
</tr>
 +
</table>
 +
</div>
 +
<div class=quiz>
 +
<div class=q>You want to find the stadium where player 'Dimitris Salpingidis' scored. Select the JOIN condition to use:
 +
<syntaxhighlight class=d lang='sql'> eteam JOIN game ON (id=team1) </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'> eteam JOIN game ON (id=team2) </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'> eteam JOIN goal ON (teamid=id) </syntaxhighlight>
 +
<syntaxhighlight class='d y' lang='sql'> game  JOIN goal ON (id=matchid) </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'> game  JOIN goal ON (team1=teamid OR team2=teamid) </syntaxhighlight>
 +
</div>
  
{Which of these shows the korean women's singles winners in order of medal achieved(Ascending order)?
+
<div class=q>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:
|type="()"}
+
<syntaxhighlight class=d lang='sql'> gtime, mdate, stadium, matchid </syntaxhighlight>
- SELECT ttws.country, city, color FROM ttws JOIN games ON (ttws.games=games.yr) WHERE ttws.country = 'CHN' ORDER BY color ASC
+
<syntaxhighlight class=d lang='sql'> mdate, stadium, id </syntaxhighlight>
+ SELECT who, ttws.country, city, color FROM ttws JOIN games ON (ttws.games=games.yr) WHERE ttws.country = 'CHN' ORDER BY color ASC
+
<syntaxhighlight class='d y' lang='sql'> matchid, teamid, player, gtime, id, teamname, coach </syntaxhighlight>
- SELECT who, ttws.country, city, color FROM ttws JOIN games ON (ttws.games=games.yr) WHERE ttws.country = 'CHN' ORDER BY country ASC
+
<syntaxhighlight class=d lang='sql'> matchid, teamid, player, gtime, mdate, stadium, team1 </syntaxhighlight>
- SELECT who, ttws.country, city, color FROM ttws JOIN games ON (ttws.games=games.yr) WHERE ttws.country = 'CHN' ORDER BY color DESC
+
<syntaxhighlight class=d lang='sql'> stadium, team1, team2 </syntaxhighlight>
- SELECT who, ttws.country, city, color FROM ttws JOIN games ON (ttws.games=games.yr) WHERE who = 'CHN' ORDER BY color ASC
+
</div>
  
{Which of these shows the gold medalists for the men's doubles from 1992 to 2000?
+
<div class=q>Select the code which shows players, their team and the amount of goals they scored against Greece(GRE).
|type="()"}
+
<syntaxhighlight class='d y' lang='sql'>
+ SELECT name, color, games FROM ttmd JOIN team ON team=team.id WHERE color='gold' AND games BETWEEN 1992 and 2000
+
SELECT player, teamid, COUNT(*)
- SELECT name, color, games FROM ttmd JOIN team ON team=team.id WHERE color='gold' AND games BETWEEN 2092 and 3000
+
  FROM game JOIN goal ON matchid = id
- SELECT name, color, games FROM ttmd JOIN team ON team=team.id WHERE color='gold' AND WHERE games BETWEEN 1992 and 2000
+
WHERE (team1 = "GRE" OR team2 = "GRE")
- SELECT name, color, games FROM ttmd JOIN team ON team=team.id WHERE color='silver' AND games BETWEEN 1992 and 2000
+
  AND teamid != 'GRE'
- SELECT name, color, games FROM ttmd JOIN team WITH team=team.id WHERE color='gold' AND games BETWEEN 1992 and 2000
+
GROUP BY player, teamid </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT player, teamid, COUNT(*)
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE (team1 = "GRE") AND teamid != 'GRE'
 +
GROUP BY player, teamid </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT player, teamid, COUNT(*)
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE (team1 = "POL" OR team2 = "POL")
 +
  AND teamid != 'POL'
 +
GROUP BY player, teamid </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT player, teamid, COUNT(*)
 +
  FROM game JOIN goal WITH matchid = id
 +
WHERE (team1 = "GRE" OR team2 = "GRE")
 +
  AND teamid != 'GRE'
 +
GROUP BY player, teamid </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT player, teamid
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE (team1 = "GRE" OR team2 = "GRE")
 +
  AND teamid != 'GRE'
 +
GROUP BY player, teamid </syntaxhighlight>
 +
</div>
  
{Which of the following shows the men's doubles chinese gold medalists who have names beginning with w?
+
<div class=q>Select the result that would be obtained from this code: <source lang=sql>
|type="()"}
+
SELECT DISTINCT teamid, mdate
- SELECT FROM ttmd JOIN team ON team=team.id WHERE country = 'CHN' AND color = 'gold' AND name LIKE 'W%'
+
  FROM goal JOIN game on (matchid=id)
- SELECT name, color, country FROM ttmd JOIN team ON team=team.id WHERE country = 'CHN' AND color = 'gold' AND name IN 'W%'
+
WHERE mdate = '9 June 2012'</source>
- SELECT name, color, country FROM ttmd JOIN team ON team=team.id WHERE country = 'CHN' AND color = 'gold' AND name LIKE '%W'
+
<table class='d y'><tr><td>DEN</td><td>9 June 2012</td></tr><tr><td>GER</td><td>9 June 2012</td></tr></table>
+ SELECT name, color, country FROM ttmd JOIN team ON team=team.id WHERE country = 'CHN' AND color = 'gold' AND name LIKE 'W%'
+
<table class=d><tr><td>DEN</td></tr><tr><td>GER</td></tr></table>
- SELECT name, color, country FROM ttmd JOIN team ON team=team.id WHERE country = 'CHN' AND color = 'silver' AND name LIKE 'W%'
+
<table class=d><tr><td>DEN</td><td>9 June 2012</td></tr><tr><td>DEN</td><td>9 June 2012</td></tr><tr><td>POL</td><td>9 June 2012</td></tr><tr><td>RUS</td><td>9 June 2012</td></tr></table>
</quiz>
+
<table class=d><tr><td>GRE</td></tr><tr><td>CZE</td></tr><tr><td>POL</td></tr><tr><td>RUS</td></tr></table>
 +
<table class=d><tr><td>RUS</td><td>9 June 2012</td></tr><tr><td>GRE</td><td>9 June 2012</td></tr><tr><td>RUS</td><td>9 June 2012</td></tr><tr><td>CZE</td><td>9 June 2012</td></tr></table>
 +
</div>
 +
 
 +
<div class=q>Select the code which would show the player and their team for those who have scored against Poland(POL) in National Stadium, Warsaw.
 +
 
 +
<syntaxhighlight class=d lang='sql'>
 +
  SELECT DISTINCT player, teamid
 +
  FROM game JOIN goal ON matchid = id
 +
  WHERE stadium = 'National Stadium, Warsaw'
 +
AND (team1 = 'GER' OR team2 = 'GER')
 +
  AND teamid != 'GER' </syntaxhighlight>
 +
<syntaxhighlight class='d y' lang='sql'>
 +
  SELECT DISTINCT player, teamid
 +
  FROM game JOIN goal ON matchid = id  
 +
  WHERE stadium = 'National Stadium, Warsaw'  
 +
AND (team1 = 'POL' OR team2 = 'POL')
 +
  AND teamid != 'POL' </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT player, teamid
 +
  FROM game JOIN goal ON matchid = id
 +
  WHERE stadium = 'National Stadium, Warsaw' AND teamid != 'POL' </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT player, teamid
 +
  FROM game JOIN goal ON matchid = id
 +
  WHERE stadium = 'Stadion Miejski (Wroclaw)'
 +
AND (team1 = 'POL' OR team2 = 'POL')
 +
  AND teamid != 'POL' </syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT stadium, mdate
 +
  FROM game JOIN goal ON matchid = id
 +
  WHERE stadium = 'National Stadium, Warsaw'
 +
AND (team1 = 'POL' OR team2 = 'POL')
 +
  AND teamid != 'POL' </syntaxhighlight>
 +
</div>
 +
 
 +
<div class=q>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).
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT player, teamid, gtime
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE stadium = 'National Stadium, Warsaw'
 +
  AND (( teamid = team2 AND team1 != 'ITA') OR ( teamid = team1 AND team2 != 'ITA'))
 +
</syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT player, teamid, gtime
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE stadium = 'Stadion Miejski (Wroclaw)'
 +
  AND (( teamid = team2 AND team1 != 'ESP') OR ( teamid = team1 AND team2 != 'ESP'))
 +
</syntaxhighlight>
 +
<syntaxhighlight class='d y' lang='sql'>
 +
SELECT DISTINCT player, teamid, gtime
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE stadium = 'Stadion Miejski (Wroclaw)'
 +
  AND (( teamid = team2 AND team1 != 'ITA') OR ( teamid = team1 AND team2 != 'ITA'))
 +
</syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT teamid, gtime
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE stadium = 'Stadion Miejski (Wroclaw)'
 +
  AND (( teamid = team2 AND team1 != 'ITA') OR ( teamid = team1 AND team2 != 'ITA'))
 +
</syntaxhighlight>
 +
<syntaxhighlight class=d lang='sql'>
 +
SELECT DISTINCT player, teamid, gtime
 +
  FROM game JOIN goal ON matchid = id
 +
WHERE team1 != 'ITA' AND team2 !='ITA' </syntaxhighlight>
 +
</div>
 +
 
 +
<div class=q>Select the result that would be obtained from this code: <source lang=sql>
 +
SELECT teamname, COUNT(*)
 +
  FROM eteam JOIN goal ON teamid = id
 +
GROUP BY teamname
 +
HAVING COUNT(*) < 3</source>
 +
<table class=d><tr><td>2</td></tr><tr><td>2</td></tr><tr><td>1</td></tr><tr><td>2</td></tr></table>
 +
<table class='d y'><tr><td>Netherlands</td><td>2</td></tr><tr><td>Poland</td><td>2</td></tr><tr><td>Republic of Ireland</td><td>1</td></tr><tr><td>Ukraine</td><td>2</td></tr></table>
 +
<table class=d><tr><td>Netherlands</td></tr><tr><td>Poland</td></tr><tr><td>Republic of Ireland</td></tr><tr><td>Ukraine</td></tr></table>
 +
<table class=d><tr><td>Poland</td><td>76</td></tr></table>
 +
<table class=d><tr><td>Republic of Ireland</td><td>1</td></tr></table>
 +
 
 +
</div>
  
 
[[Category:Quizzes]]
 
[[Category:Quizzes]]

Latest revision as of 14:44, 30 September 2016

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
...
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)
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, matchid
 mdate, stadium, id
 matchid, teamid, player, gtime, id, teamname, coach
 matchid, teamid, player, gtime, mdate, stadium, team1
 stadium, team1, team2
Select the code which shows players, their team and the amount of goals they scored against Greece(GRE).
SELECT player, teamid, COUNT(*)
  FROM game JOIN goal ON matchid = id
 WHERE (team1 = "GRE" OR team2 = "GRE")
   AND teamid != 'GRE'
 GROUP BY player, teamid
SELECT player, teamid, COUNT(*)
  FROM game JOIN goal ON matchid = id
 WHERE (team1 = "GRE") AND teamid != 'GRE'
 GROUP BY player, teamid
SELECT player, teamid, COUNT(*)
  FROM game JOIN goal ON matchid = id
 WHERE (team1 = "POL" OR team2 = "POL")
   AND teamid != 'POL'
 GROUP BY player, teamid
SELECT player, teamid, COUNT(*)
  FROM game JOIN goal WITH matchid = id
 WHERE (team1 = "GRE" OR team2 = "GRE")
   AND teamid != 'GRE'
 GROUP BY player, teamid
SELECT player, teamid
  FROM game JOIN goal ON matchid = id
 WHERE (team1 = "GRE" OR team2 = "GRE")
   AND teamid != 'GRE'
 GROUP BY player, teamid
Select the result that would be obtained from this code:
SELECT DISTINCT teamid, mdate
  FROM goal JOIN game on (matchid=id)
 WHERE mdate = '9 June 2012'
DEN9 June 2012
GER9 June 2012
DEN
GER
DEN9 June 2012
DEN9 June 2012
POL9 June 2012
RUS9 June 2012
GRE
CZE
POL
RUS
RUS9 June 2012
GRE9 June 2012
RUS9 June 2012
CZE9 June 2012
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 (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 (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 (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 (team1 = 'POL' OR team2 = 'POL')
  AND teamid != 'POL'
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 (( teamid = team2 AND team1 != 'ITA') OR ( teamid = team1 AND team2 != 'ITA'))
SELECT DISTINCT player, teamid, gtime
  FROM game JOIN goal ON matchid = id
 WHERE stadium = 'Stadion Miejski (Wroclaw)'
   AND (( teamid = team2 AND team1 != 'ESP') OR ( teamid = team1 AND team2 != 'ESP'))
SELECT DISTINCT player, teamid, gtime
  FROM game JOIN goal ON matchid = id
 WHERE stadium = 'Stadion Miejski (Wroclaw)'
   AND (( teamid = team2 AND team1 != 'ITA') OR ( teamid = team1 AND team2 != 'ITA'))
SELECT DISTINCT teamid, gtime
  FROM game JOIN goal ON matchid = id
 WHERE stadium = 'Stadion Miejski (Wroclaw)'
   AND (( teamid = team2 AND team1 != 'ITA') OR ( teamid = team1 AND team2 != 'ITA'))
SELECT DISTINCT player, teamid, gtime
  FROM game JOIN goal ON matchid = id
 WHERE team1 != 'ITA' AND team2 !='ITA'
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
2
2
1
2
Netherlands2
Poland2
Republic of Ireland1
Ukraine2
Netherlands
Poland
Republic of Ireland
Ukraine
Poland76
Republic of Ireland1