SELECT from Nobel Tutorial/ja
Language: | English • 日本語 • 中文 |
---|
yr | subject | winner | ||
---|---|---|---|---|
1960 | Chemistry | Willard F. Libby | ||
1960 | Literature | Saint-John Perse | ||
1960 | Medicine | Sir Frank Macfarlane Burnet | ||
1960 | Medicine | Peter Madawar | ||
... |
nobel
ノーベル賞
簡単なテーブルへのクエリーで簡単なSQLの練習を続ける。
このチュートリアルはノーベル賞受賞者に関するテーブルを扱う:
nobel(yr, subject, winner)
ノーベル(年度, 分野, 受賞者)
SELECT
文を使用する。
1950 年度の受賞者
1950年度のノーベル賞を表示するようにクエリーを修正する。
SELECT yr, subject, winner
FROM nobel
WHERE yr = 1960
SELECT yr, subject, winner
FROM nobel
WHERE yr = 1950
1962年の文学賞
ノーベル文学賞(Literature)を1962年に受賞した人を表示
SELECT winner
FROM nobel
WHERE yr = 1960
AND subject = 'Physics'
SELECT winner
FROM nobel
WHERE yr = 1962
AND subject = 'Literature'
アルバート・アインシュタイン
アルバート・アインシュタイン(Albert Einstein)がノーベル賞を受賞した年と分野を表示
SELECT yr, subject
FROM nobel
WHERE winner = 'Albert Einstein'
近年の平和賞
ノーベル平和賞( subject が Peace )の 2000年以降(2000を含む)の受賞者名を表示
SELECT winner
FROM nobel
WHERE subject = 'Peace'
AND yr >= 2000
1980年代の文学賞
1980から1989年の間のノーベル文学賞について、年度、分野、受賞者の全ての詳細を表示する。
SELECT yr,subject,winner
FROM nobel
WHERE subject = 'Literature'
AND yr BETWEEN 1980 AND 1989
大統領のみ
次の大統領の受賞内容の詳細を表示する。
- テオドール=ルーズベルト Theodore Roosevelt
- ウッドロウ=ウィルソン Woodrow Wilson
- ジミー=カーター Jimmy Carter
- バラク=オバマ Barack Obama
SELECT * FROM nobel
WHERE yr = 1970
AND subject IN ('Cookery',
'Chemistry',
'Literature')
SELECT * FROM nobel
WHERE winner IN ('Theodore Roosevelt',
'Woodrow Wilson',
'Jimmy Carter',
'Barack Obama')
ジョン
ファーストネームが John の受賞者を表示
SELECT winner FROM nobel
WHERE winner LIKE 'John %'
異なる年度の化学賞と物理学賞
1980年のノーベル物理賞 physics の受賞者 と 1984年の化学賞 chemistry の受賞者を共に表示する
SELECT *
FROM nobel
WHERE (subject='physics' AND yr=1980) OR
(subject='chemistry' AND yr=1984)
化学と医学を除く
1980年の 化学 Chemistry と医学 Medicine 以外で、賞の年度、分野、名前を表示
SELECT *
FROM nobel
WHERE yr=1980 AND
subject NOT IN ('Chemistry','Medicine')
初期の医学と最近の文学
1910年以前(1910は含まず)の 初期の医学 Medicine の受賞者 と 2004年以降(2004は含む)の 最近の文学 Literature の受賞者 を共に表示する。
SELECT *
FROM nobel
WHERE (subject='Medicine' and yr <1910) OR
(subject='Literature' AND yr>=2004)
より難しい問題
ウムラウト
PETER GRÜNBERG の受賞内容詳細を検索する。 ウムラウトの入力方法(Ü の入力方法)を調べ検索キーワードで機能させる方法を調べる。
SELECT *
FROM nobel
WHERE winner in ('Peter Grünberg')
アポストロフィー
EUGENE O'NEILL の全ての受賞内容詳細を検索する。
SELECT *
FROM nobel
WHERE winner in ('Eugene O''Neill')
天下の騎士
ナイトの序列
ナイトの受賞者リストを表示する。 Sir. で始まる受賞者の 受賞者、年、分野 を表示する。 年が新しい順に、同年内では名前順に表示する。
SELECT winner, yr, subject
FROM nobel
WHERE winner LIKE 'Sir%'
ORDER BY yr DESC, winner
化学賞と物理賞は末尾に
式 subject IN ('Physics' , Chemistry') の値は 0 または 1 として扱われる。
1984年の賞の 受賞者 winner と分野 subject を受賞者の名前順で表示する。ただし化学 Chemistry と物理学 Physics は最後の方に表示する。
SELECT winner, subject, subject IN ('Physics','Chemistry')
FROM nobel
WHERE yr=1984
ORDER BY subject,winner
select winner, subject
from nobel
where yr=1984
order by subject in ('Physics','Chemistry'),subject,winner