mysql----JOIN Quiz

Posted Stay Hungry, Stay Foolish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql----JOIN Quiz相关的知识,希望对你有一定的参考价值。

JOIN quiz

game
idmdatestadiumteam1team2
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
matchidteamidplayergtime
1001 POL Robert Lewandowski 17
1001 GRE Dimitris Salpingidis 51
1002 RUS Alan Dzagoev 15
1001 RUS Roman Pavlyuchenko 82
...
eteam
idteamnamecoach
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, matchid
 mdate, stadium, id
 matchid, teamid, player, gtime, id, teamname, coach
 matchid, teamid, player, gtime, mdate, stadium, team1
 stadium, team1, team2
3. 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
4. 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‘
DEN 9 June 2012
GER 9 June 2012
DEN
GER
DEN 9 June 2012
DEN 9 June 2012
POL 9 June 2012
RUS 9 June 2012
GRE
CZE
POL
RUS
RUS 9 June 2012
GRE 9 June 2012
RUS 9 June 2012
CZE 9 June 2012
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 (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‘
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 (( 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‘
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
2
2
1
2
Netherlands 2
Poland 2
Republic of Ireland 1
Ukraine 2
Netherlands
Poland
Republic of Ireland
Ukraine
Poland 76
Republic of Ireland 1

以上是关于mysql----JOIN Quiz的主要内容,如果未能解决你的问题,请参考以下文章

讲解 COMP9021 QUIZ 1

MySQL:JOIN 和条件语句

网易官方极客战记(codecombat)攻略-森林-宠物小测试pet-quiz

9020quiz总结

不一样的Office 365之 —— Microsoft Forms Quiz应用

Wo?d quiz