概要
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.
わからなかったので、また今度トライしてみる。。。。