有关如何联接表的SQL分配

时间:2018-07-06 01:33:45

标签: sql

有一个分配问题,我似乎无法弄清楚以下SQL查询:

  • 体育场(体育场名称,城市,容量)
  • MATCHES(体育场名称,日期,时间,Country-1,Country-2)
  • TEAMS(国家/地区,培训师,大陆)
  • 玩家(玩家名称,国家/地区,NumGoals,位置)

在SQL中表达以下查询:

“列出没有欧洲队参加的体育场的名称。”

提示:如果一个团队来自欧洲大陆,那就是欧洲人。

2 个答案:

答案 0 :(得分:0)

将语句与INNER JOIN / LEFT JOIN / RIGHT JOIN一起加入后,可以在SQL语句中使用WHERE NOT

一些例子在 https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_where_not_and

答案 1 :(得分:0)

尝试以下操作:

Select 
  StadiumName
From
  STADIUMS
Left outer join 
  MATCHES on MATCHES.StadiumName = STADIUMS.StadiumName
Left outer join
  TEAMS team1 on team1.Country = MATCHES."country-1" and team1.continent = 'Europe'
Left outer join
  TEAMS team2 on team2.Country = MATCHES."country-2" and team1.continent = 'Europe'
Where 
  Team1.country is null 
And
  Team2.country is null;