SQL Zoo 练习题答案—SELECT from WORLD&SELECT from Nobel

SQL Zoo 做 SQL 练习,下面记录下我的答案,如果没做出来会注明。

本篇为 SELECT from WORLDSELECT from Nobel 两节的答案。


SELECT from WORLD

1./

2.顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。

SELECT name FROM world
WHERE population>200000000

3.找出有至少200百萬(2億)人口的國家名稱,及人均國內生產總值。

SELECT name, gdp/population FROM world WHERE population > 200000000

4.顯示'South America'南美洲大陸的國家名字和以百萬為單位人口數。 將人口population 除以一百萬(1000000)得可得到以百萬為單位人口數。

SELECT name, population/1000000 AS populationM FROM world WHERE continent = 'South America'

5.顯示法國,德國,意大利(France, Germany, Italy)的國家名稱和人口。

SELECT name, population FROM world WHERE name IN ('France', 'Germany', 'Italy')

6.顯示包含單詞“United”為名稱的國家。

SELECT name FROM world WHERE name LIKE '%United%'

7.成為大國的兩種方式:如果它有3百萬平方公里以上的面積,或擁有250百萬(2.5億)以上人口。

展示大國的名稱,人口和面積。

SELECT name, population, area FROM world WHERE area > 3000000 or population > 250000000

8.國、印度和中國(USA, India, China)是人口又大,同時面積又大的國家。排除這些國家。

顯示以人口或面積為大國的國家,但不能同時兩者。顯示國家名稱,人口和面積。SELECT name, population, area FROM world WHERE name NOT IN ('United States', 'India', 'China') AND (area > 3000000 OR population > 250000000)

9.除以為1000000(6個零)是以百萬計。除以1000000000(9個零)是以十億計。使用 ROUND 函數來顯示的數值到小數點後兩位。

對於南美顯示以百萬計人口,以十億計2位小數GDP。

SELECT name, ROUND(population/1000000,2), ROUND(gdp/1000000000,2) FROM world
where continent = 'South America'

10.顯示國家有至少一個萬億元國內生產總值(萬億,也就是12個零)的人均國內生產總值。四捨五入這個值到最接近1000。

顯示萬億元國家的人均國內生產總值,四捨五入到最近的$ 1000。

SELECT name, ROUND(gdp/population/1000,0)*1000 FROM world WHERE gdp >= 1000000000000

11.The CASE statement shown is used to substitute North America for Caribbean in the third column.

Show the name - but substitute Australasia for Oceania - for countries beginning with N.

SELECT name,
CASE WHEN continent='Oceania' THEN 'Australasia'
ELSE continent END
FROM world
WHERE name LIKE 'N%'

12.Show the name and the continent - but substitute Eurasia for Europe and Asia; substitute America - for each country in North America or South America or Caribbean. Show countries beginning with A or B

SELECT name,
CASE WHEN continent IN ('Europe','Asia') THEN 'Eurasia'
WHEN continent IN ('North America','South America') THEN 'America'
WHEN continent = 'Caribbean' THEN 'America'
ELSE continent
END
FROM world
WHERE name LIKE 'A%' OR name LIKE 'B%'

13.Put the continents right...

  • Oceania becomes Australasia
  • Countries in Eurasia and Turkey go to Europe/Asia
  • Caribbean islands starting with 'B' go to North America, other Caribbean islands go to South America

Show the name, the original continent and the new continent of all countries.

SELECT name, continent,
CASE
WHEN continent = 'Oceania' THEN 'Australasia'
WHEN continent IN ('Eurasia','Turkey') THEN 'Europe/Asia'
WHEN continent = 'Caribbean' THEN
CASE
WHEN name LIKE 'B%' THEN 'North America'
ELSE 'South America'
END
ELSE continent
END
FROM world
ORDER BY name

SELECT from Nobel Tutorial

1.更改查詢以顯示1950年諾貝爾獎的獎項資料。

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

2.顯示誰贏得了1962年文學獎(Literature)。

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

3.顯示“愛因斯坦”('Albert Einstein') 的獲獎年份和獎項。

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

4.顯示2000年及以後的和平獎(‘Peace’)得獎者。

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

5.顯示1980年至1989年(包含首尾)的文學獎(Literature)獲獎者所有細節(年,主題,獲獎者)。

SELECT * FROM nobel
WHERE yr >= 1980 and yr <= 1989 and subject = 'Literature'

6.顯示總統獲勝者的所有細節:

  • 西奧多•羅斯福 Theodore Roosevelt

  • 伍德羅•威爾遜 Woodrow Wilson

  • 吉米•卡特 Jimmy Carter

SELECT * FROM nobel

WHERE winner IN ('Theodore Roosevelt', 'Woodrow Wilson', 'Jimmy Carter')

7.顯示名字為John 的得獎者。 (注意:外國人名字(First name)在前,姓氏(Last name)在後)

SELECT winner FROM nobel
WHERE winner LIKE 'John%'

8.顯示1980年物理學(physics)獲獎者,及1984年化學獎(chemistry)獲得者。

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

9.查看1980年獲獎者,但不包括化學獎(Chemistry)和醫學獎(Medicine)。

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

10.顯示早期的醫學獎(Medicine)得獎者(1910之前,不包括1910),及近年文學獎(Literature)得獎者(2004年以後,包括2004年)。

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

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

12.查找尤金•奧尼爾EUGENE O'NEILL得獎的所有細節 Find all details of the prize won by EUGENE O'NEILL

跳脫字符:單引號

你不能把一個單引號直接的放在字符串中。但您可連續使用兩個單引號在字符串中當作一個單引號。

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

13.騎士列隊 Knights in order

列出爵士的獲獎者、年份、獎頁(爵士的名字以Sir開始)。先顯示最新獲獎者,然後同年再按名稱順序排列。

SELECT winner, yr, subject FROM nobel
WHERE winner LIKE 'Sir%'
ORDER BY yr DESC, winner

14.The expression subject IN ('Chemistry','Physics') can be used as a value - it will be 0 or 1.

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容