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
  • 相关阅读:
    USASO Greedy Gift Givers
    Mat 类型用法
    OpenCV错误:Unhandled exception at 0x0133bc63 ....0xC0000005: Access violation reading location 0x00000004.
    C++ seekp 函数文件流跳转功能产生数据覆盖问题解决
    C++中文件名称必须是C风格的char*格式
    char*, char[] ,CString, string的转换
    Visual Stdio 2008 最大内存分配块大小问题: 使用new 分配连续723M内存 出错 std::bad_alloc at memory location 0x0013e0b8
    string类型转化为char*错误: error C2440: '=' : cannot convert from 'const char *' to 'char *'
    Mat 和 IplImage、CvMat格式的互相转换
    指针数组和数组指针
  • 原文地址:https://www.cnblogs.com/tk55/p/6758384.html
Copyright © 2011-2022 走看看