SQL Zooを試してみた ~ SELECT in SELECTとJOIN
概要
SQL ZooのSELECT in SELECTとJOINセクションにトライして、知らなかった点をメモしておく。
SELECT in SELECT
6. Bigger than every country in Europe
ALL句
キーワード ALL で大小記号 >=、 >、 <、 <= をリストの全ての要素に対して適用できる。
SELECT name
FROM world
WHERE gdp > ALL(SELECT gdp
FROM world
WHERE gdp > 0
AND continent = 'Europe')
9. Difficult Questions That Utilize Techniques Not Covered In Prior Sections
これは難しかった。。。
大陸に属する各国の人口が全て25000000以下である大陸を見つけ、それらの大陸に属する国の名前と大陸と人口を表示。
SELECT
name,continent,population
FROM
world A
WHERE
25000000>=ALL(SELECT population
FROM world B
WHERE B.continent=A.continent);
JOIN
11. ポーランド(POL)が参戦している全試合の matchid と 日程 とその試合のゴール数 を表示する。
GROUP BYでまとめる列以外のすべての列に対して、集合関数を使用すること。 でないと、エラーになる。
SELECT matchid, MIN(mdate), COUNT(*) FROM game
JOIN goal ON (game.id = goal.matchid)
WHERE (team1 = 'POL' OR team2 = 'POL') GROUP BY goal.matchid
13.
わからなかったので、また今度トライしてみる。。。。