プログラミング

3. SELECT from Nobel /SQL ZOO の答えと解説

sql_zoo_3 select

SQLZooの答えと解説です。

今までの解説はこちら

4. SELECT within SELECT/SQL ZOO の答えと解説
5. SUM and COUNT/SQL Zooの答えと解説
6. JOIN /SQL ZOOの答えと解説
7. More JOIN operations /SQL ZOOの答えと解説
8. Using NUll/SQL Zooの答えと解説
9. Self JOIN /SQL ZOO の答えと解説

1. Change the query shown so that it displays Nobel prizes for 1950.

  Q. 1950年度のノーベル賞受賞者を表示するようにクエリーを修正する。

SELECT yr, subject, winner
FROM nobel
WHERE yr = 1950;

2. Show who won the 1962 prize for Literature.

  Q. ノーベル文学賞(Literature)を1962年に受賞した人を表示

SELECT winner
FROM nobel
WHERE yr = 1962
AND subject = 'Literature';

3. Show the year and subject that won ‘Albert Einstein’ his prize.

  Q. アルバート・アインシュタイン(Albert Einstein)が ノーベル賞を受賞した年と分野を表示

SELECT yr, subject
FROM nobel
WHERE winner = 'Albert Einstein';

4. Give the name of the ‘Peace’ winners since the year 2000, including 2000.

  Q. ノーベル平和賞( subject が Peace )の2000年以降(2000を含む)の受賞者名を表示

SELECT winner
FROM nobel
WHERE yr >= 2000
AND subject = 'Peace';

5. Show all details (yr, subject, winner) of the Literature prize winners for 1980 to 1989 inclusive.

  Q. 1980から1989年の間のノーベル文学賞について、年度、分野、受賞者の全ての詳細を表示する。

SELECT yr, subject, winner
FROM nobel
WHERE yr BETWEEN 1980 AND 1989
AND subject = 'Literature';

6. Show all details of the presidential winners:

  Q. 次の大統領の受賞内容の詳細を表示する。

– テオドール=ルーズベルト Theodore Roosevelt
– ウッドロウ=ウィルソン Woodrow Wilson
– ジミー=カーター Jimmy Carter
– バラク=オバマ Barack Obama

SELECT *
FROM nobel
WHERE winner IN (
'Theodore Roosevelt',
'Woodrow Wilson',
'Jimmy Carter',
'Barack Obama'
)

7. Show the winners with first name John

  Q. ファーストネームが John の受賞者を表示

SELECT winner
FROM nobel
WHERE winner LIKE 'john%'

8. Show the year, subject, and name of Physics winners for 1980 together with the Chemistry winners for 1984.

  Q. 1980年のノーベル物理賞 physics の受賞者 と
1984年の化学賞 chemistry の受賞者を共に表示する

SELECT *
FROM nobel
WHERE (
yr = 1980 AND subject = 'physics'
) OR (
yr = 1984 AND subject = 'chemistry'
)

9. Show the year, subject, and name of winners for 1980 excluding Chemistry and Medicine

  Q. 1980年の化学 Chemistry と医学 Medicine 以外で、
賞の年度、分野、名前を表示

SELECT *
FROM nobel
WHERE yr = 1980
AND subject NOT IN ('Chemistry', 'Medicine')

10. Show year, subject, and name of people who won a ‘Medicine’ prize in an early year (before 1910, not including 1910) together with winners of a ‘Literature’ prize in a later year (after 2004, including 2004)

  Q. 1910年以前(1910は含まず)の初期の医学 Medicine の受賞者と
2004年以降(2004は含む)の最近の文学 Literature の受賞者を共に表示する。

SELECT *
FROM nobel
WHERE (
yr<1910 AND subject = 'Medicine' ) OR ( yr>=2004 AND subject = 'Literature'
)

11. Find all details of the prize won by PETER GRÜNBERG

  Q. PETER GRÜNBERGの受賞内容詳細を検索する。
ウムラウトの入力方法(Üの入力方法)を調べ検索キーワードで機能させる方法を調べる。

SELECT *
FROM nobel
WHERE winner = 'PETER GRÜNBERG'

12. Find all details of the prize won by EUGENE O’NEILL

  Q. EUGENE O’NEILL の全ての受賞内容詳細を検索する。

SELECT *
FROM nobel
WHERE winner = 'EUGENE O''NEILL'

13. List the winners, year and subject where the winner starts with Sir. Show the the most recent first, then by name order.

Knights in order

Q. 騎士の受賞者リストを表示する。
Sir. で始まる受賞者の 受賞者、年、分野を表示する。
年が新しい順に、同年内では名前順に表示する。

SELECT winner, yr, subject
FROM nobel
WHERE winner LIKE 'sir%'
ORDER BY yr desc, winner;

14. Show the 1984 winners and subject ordered by subject and winner name; but list Chemistry and Physics last.

  The expression subject IN (‘Chemistry’,’Physics’) can be used as a value – it will be 0 or 1.

Q. 1984年の賞の受賞者 winner と分野 subject を分野と受賞者の名前順で表示する。

ただし化学 Chemistry と物理学 Physics は最後の方に表示する。
式 subject IN (‘Physics’ , Chemistry’) の値は 0 または 1 として扱われる

SELECT winner, subject
FROM nobel
WHERE yr=1984
ORDER BY subject in ('Physics','Chemistry'), subject, winner

https://marucoblog.com/programing/4-select-within-select/

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です