SQLZOO JOIN答案

链接:https://sqlzoo.net/wiki/The_JOIN_operation
在这里插入图片描述

在这里插入图片描述
1.
在这里插入图片描述

SELECT matchid,player
FROM goal 
WHERE teamid='GER'

在这里插入图片描述

SELECT id,stadium,team1,team2
FROM game
WHERE id='1012'

在这里插入图片描述

SELECT goal.player,goal.teamid,game.stadium,game.mdate
FROM game JOIN goal ON (game.id=goal.matchid)
WHERE goal.teamid='GER'

4.在这里插入图片描述

SELECT game.team1,game.team2,goal.player
FROM game
JOIN goal ON game.id=goal.matchid
WHERE goal.player LIKE 'Mario%' 

在这里插入图片描述

SELECT goal.player, goal.teamid, eteam.coach, goal.gtime
FROM goal 
JOIN eteam ON goal.teamid=eteam.id
WHERE gtime<=10

在这里插入图片描述

SELECT game.mdate, eteam.teamname
FROM game
JOIN eteam ON game.team1=eteam.id
WHERE eteam.coach='Fernando Santos'

在这里插入图片描述

SELECT goal.player
FROM goal
JOIN game ON goal.matchid=game.id
WHERE game.stadium='National Stadium, Warsaw'

在这里插入图片描述

SELECT DISTINCT goal.player
FROM goal JOIN game ON goal.matchid=game.id 
WHERE (game.team1='GER' OR game.team2='GER' )AND goal.teamid!='GER'

在这里插入图片描述

SELECT eteam.teamname, COUNT(goal.player)
FROM eteam JOIN goal ON eteam.id=goal.teamid
GROUP BY(eteam.teamname)
ORDER BY eteam.teamname

在这里插入图片描述

SELECT game.stadium, COUNT(goal.player)
FROM game 
JOIN goal ON game.id = goal.matchid
GROUP BY(game.stadium)

在这里插入图片描述

SELECT goal.matchid, game.mdate, COUNT(goal.matchid) AS count
FROM game JOIN goal ON matchid = id 
WHERE (team1 = 'POL' OR team2 = 'POL')
GROUP BY goal.matchid, game.mdate

在这里插入图片描述

SELECT game.id, game.mdate, COUNT(game.id)
FROM game JOIN goal ON game.id=goal.matchid
WHERE goal.teamid='GER'
GROUP BY game.id, game.mdate

在这里插入图片描述

SELECT game.mdate, 
  game.team1, SUM(CASE WHEN goal.teamid=game.team1 THEN 1 ELSE 0 END) AS score1, 
  game.team2, SUM(CASE WHEN goal.teamid=game.team2 THEN 1 ELSE 0 END) AS score2
FROM game LEFT JOIN goal ON game.id=goal.matchid
GROUP BY game.mdate, game.id, game.team1,game.team2
ORDER BY game.mdate, game.id, game.team1, game.team2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值