zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Win10 注册IIs4.0的解决方案
    Win10 注册IIs4.0的解决方案
    Methods for Using Message Queuing Telemetry Transport for Sensor Networks to Support Sleeping Devices
    Win10 注册IIs4.0的解决方案
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
    真正聪明的人,为什么从不去社交?
  • 原文地址:https://www.cnblogs.com/tk55/p/6758384.html
Copyright © 2011-2022 走看看