篇章 III - SELECT from Nobel Tutorial
讓我們繼續練習吧~有關諾貝爾獎得獎者表格的SQL查詢。
nobel(yr, subject, winner)
yr : 年份 , subject : 獎項 , winner : 獲獎者
題目:https://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial/zh
p.s. 前章節在這兒:SELECT from WORLD Tutorial
Q1. 更改查詢以顯示1950年諾貝爾獎的獎項資料。
SELECT yr, subject, winner FROM nobel
WHERE yr = 1950;
Q2. 顯示誰贏得了1962年文學獎(Literature)。
SELECT winner FROM nobel
WHERE yr = 1962 AND subject = ‘Literature’;
Q3. 顯示“愛因斯坦”(‘Albert Einstein’) 的獲獎年份和獎項。
SELECT yr, subject FROM nobel
WHERE winner = ‘Albert Einstein’;
Q4. 顯示2000年及以後的和平獎(‘Peace’)得獎者。
SELECT winner FROM nobel
WHERE yr >= 2000 AND subject = ‘Peace’;
Q5. 顯示1980年至1989年(含首尾)的文學獎(Literature)獲獎者所有細節 : (yr, subject, winner)。
Notes : Use the expression subject BETWEEN x AND y
SELECT yr, subject, winner FROM nobel
WHERE subject = ‘Literature’
AND (yr BETWEEN 1980 AND 1989);
Q6. 顯示總統當選者的所有細節:
- Theodore Roosevelt
- Woodrow Wilson
- Jimmy Carter
SELECT *FROM nobel
WHERE winner IN (‘Theodore Roosevelt’, ‘Woodrow Wilson’, ‘Jimmy Carter’);
Q7. 顯示名字為John 的得獎者。
Notes : 英文名字(First name)在前,姓氏(Last name)在後
SELECT winner FROM nobel
WHERE winner LIKE ‘John%’;
Q8. 顯示1980年物理學(Physics) & 1984年化學獎(Chemistry)的獲獎者。
SELECT *FROM nobel
WHERE (yr = 1980 AND subject = ‘Physics’)
OR (yr = 1984 AND subject = ‘Chemistry’)
ORDER BY yr;
Q9. 查看1980年獲獎者,但不包括化學獎(Chemistry)和醫學獎(Medicine)。
Notes : Use the expression subject NOT IN (‘Chemistry’,’Medicine’)
SELECT *FROM nobel
WHERE yr = 1980
AND subject NOT IN(‘Chemistry’, ‘Medicine’);
Q10. 顯示早期的醫學獎(Medicine)得獎者(1910以前, 不含1910),及近年文學獎(Literature)得獎者(2004年以後, 含2004年)。
SELECT *FROM nobel
WHERE (subject = ‘Medicine’ AND yr < 1910)
OR (subject = ‘Literature’ AND yr >= 2004);
More challenging Questions
Q11. 查找 PETER GRÜNBERG 得獎的所有詳情
SELECT *FROM nobel
WHERE winner LIKE ‘Peter Gr_nberg’;
Q12. 查找 EUGENE O’NEILL 得獎的所有細節
SELECT *FROM nobel
WHERE winner = ‘Eugene O’’neill’;
Q13. Knights in order。列出Knights的獲獎者、年份、獎項(Knights的名字以 Sir 開始)。先顯示最新獲獎者,同年再按名稱順序排列。
Notes : 以最新時間為優先排序,使用 ORDER by 時間 "DESC"
SELECT winner, yr, subject FROM nobel
WHERE winner LIKE ‘Sir%’
ORDER by yr DESC, winner;
Q14. 顯示1984年獲獎者和獎項,先按獎項排序,再按獲勝者名稱排; 但獎項:"化學"和"物理"最後列出。
Tips : The expression subject IN (‘Chemistry’,’Physics’) can be used as a value - it will be 0 or 1.
SELECT winner, subject FROM nobel
WHERE yr = 1984
ORDER BY subject IN (‘Chemistry’, ’Physics’), subject, winner;
心得
好像有那麼點的進步與成長,讓我們繼續加油吧。
希望有幫助到你
歡迎任何對文章的建議,如果喜歡也可以幫我拍手鼓勵!