ノーベルチュートリアルからの04SQLZooSELECT



04sqlzoo Select From Nobel Tutorial



画像

画像

1950年からの受賞者

表示されるクエリを変更して、1950年のノーベル賞を表示するようにします。
回答



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

1962年の文学

誰が1962年の文学賞を受賞したかを示します。

回答



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

アルバート・アインシュタイン

「アルバートアインシュタイン」賞を受賞した年と主題を示してください。

回答

select yr,subject from nobel where winner = 'Albert Einstein'

最近の平和賞

2000年を含む2000年以降の「平和」の受賞者の名前を挙げてください。
回答



select winner from nobel where subject = 'Peace' and yr>=2000

1980年代の文学

1980年から1989年までの文学賞受賞者のすべての詳細(年、主題、受賞者)を表示します。

回答

select yr, subject, winner from nobel where (yr between 1980 and 1989) and (subject='Literature')

大統領のみ

大統領の受賞者の詳細をすべて表示します。

セオドア・ルーズベルト
ウッドロウウィルソン
ジミー・カーター
バラック・オバマ

回答

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

ジョン

ジョンという名で勝者を表示する
回答

SELECT winner from nobel where winner like 'John%'

likeの後のワイルドカード関連の式は一重引用符で囲み、二重引用符にすることはできません。

異なる年の化学と物理学

1980年の物理学の受賞者の年、主題、名前を、1984年の化学の受賞者と一緒に表示します。
回答

select yr,subject,winner from nobel where (subject = 'Physics' and yr=1980) or (subject = 'Chemistry' and yr = 1984)

化学者と医学者を除外する

化学と医学を除く1980年の受賞者の年、主題、名前を表示します
回答

SELECT yr,subject,winner from nobel where (subject not in('Chemistry','Medicine')) and (yr = 1980)

トラブルシューティングを行うときは、複数設定する必要がないことに注意してください。 =ない方が速い

初期の医学、後期の文学

早い年(1910年以前、1910年を除く)に「医学」賞を受賞した人の年、主題、名前を、後年(2004年以降、2004年を含む)に「文学」賞を受賞した人と一緒に表示します。
回答

SELECT yr,subject,winner from nobel where (subject = 'Medicine' and yr<1910 ) or (subject = 'Literature' and yr>=2004)

ノーベルクイズ

難しい質問
ウムラウト
十一。
ペーター・グリューンベルクが受賞した賞の詳細をすべて見つける

非ASCII文字
彼の名前のuにはウムラウトがあります。このリンクが役立つかもしれません https://en.wikipedia.org/wiki/Ü#Keyboarding
回答

SELECT * from nobel where winner = 'Peter Grünberg'

####アポストロフィ
12.12。
ユージン・オニールが受賞した賞の詳細をすべて見つける

一重引用符のエスケープ
回答

select * from nobel where winner='EUGENE O'NEILL'

クエリの名前に一重引用符などの特殊文字が含まれている場合は、エスケープ文字が必要であることに注意してください。
クエリの名前で使用できます。クエリの名前で使用できます。クエリの名前で使用できます。

王国の騎士

騎士団

勝者、年、および勝者がサーで始まる主題をリストします。最新のものを最初に表示し、次に名前順に表示します。
回答

select winner,yr,subject from nobel where winner like 'Sir%' order by yr desc,winner asc

小さいものから大きいものへの昇順、デフォルト

フィールド名1から*を選択します。フィールド名2で並べ替えます。
select * from field name 1 order by field name 2 asc

大きいものから小さいものへの降順の説明
select * from field name 1 order by field name 2 dasc

フィールド1はフィールド2に従ってソートされます

さらに条件を設定したい場合
フィールド名1desc、フィールド名2、desc、..で並べ替えます。
の形

最後に化学と物理学

式subjectIN(「Chemistry」、「Physics」)を値として使用できます。値は0または1になります。

1984年の受賞者と件名を件名と受賞者の名前で並べて表示しますが、最後に化学と物理をリストします。
回答

SELECT winner, subject FROM nobel where yr=1984 ORDER BY subject IN ('Physics','Chemistry'),subject asc,winner asc

ORDERBYステートメント
ORDER BYステートメントは、指定された列に基づいて結果セットをソートするために使用されます。
ORDER BYステートメントは、デフォルトでレコードを昇順でソートします。
レコードを降順でソートする場合は、DESCキーワードを使用できます。