Sql语句
1. 修改此例子,以顯示德國 Germany 的人口。
SELECT population FROM world WHERE name = 'Germany'
2. 修改此例子,查詢面積為 5,000,000 以上平方公里的國家,對每個國家顯示她的名字和人均國內生產總值
SELECT name, gdp/population FROM world WHERE area > 5000000
3. 顯示“Ireland 愛爾蘭”,“Iceland 冰島”,“Denmark 丹麥”的國家名稱和人口。
SELECT name, population FROM world WHEREname IN ('Ireland ', 'Iceland ', 'Denmark ')
4. 修改此例子,以顯示面積為 200,000 及 250,000 之間的國家名稱和該國面積
SELECT name, area FROM world WHERE area BETWEEN 200000 AND 250000
5. 找出以 Y 為開首的國家
SELECT name FROM world WHERE name LIKE 'Y%'
6. **找出以 Y 為结尾的國家
SELECT name FROM world WHERE name LIKE '%Y'
7. 找出所有國家,其名字包括字母x。
SELECT name FROM world WHERE name LIKE '%x%'
8. 找出所有國家,其名字以 land 作結尾。
SELECT name FROM world WHERE name LIKE '%land'
9. 找出所有國家,其名字以 C 作開始,ia 作結尾。
SELECT name FROM world WHERE name LIKE 'C%ia'
10.找出所有國家,其名字包括字母oo。
SELECT name FROM world WHERE name LIKE '%oo%'
11.找出所有國家,其名字包括三個或以上的a。
SELECT name FROM world WHERE name LIKE '%a%a%a%'
12.找出所有國家,其名字以t作第二個字母。
select name from world where name like "_t" order by name
13.找出所有國家,其名字都有兩個字母 o,被另外兩個字母相隔着。
SELECT name FROM world WHERE name LIKE '%o__o%'
14.找出所有國家,其名字都是 4 個字母的。
SELECT name FROM world WHERE name LIKE '____'
15. 顯示所有國家名字,其首都和國家名字是相同的。
SELECT name FROM world WHERE name LIKE capital
16.顯示所有國家名字,其首都是國家名字加上”City”。
SELECT name FROM world WHERE capital LIKE concat(name, ' City')
17.找出所有首都和其國家名字,而首都要有國家名字中出現。
SELECT capital, name FROM world WHERE capital LIKE concat('%',name,'%')
18.找出所有首都和其國家名字,而首都是國家名字的延伸。你應顯示 Mexico City,因它比其國家名字 Mexico 長。你不應顯示 Luxembourg,因它的首都和國家名相是相同的。
SELECT name, capital FROM world WHERE capital LIKE concat('%',name,'_%')
19.顯示國家名字,及其延伸詞,如首都是國家名字的延伸
SELECT name, REPLACE(capital, name, '') FROM world WHERE capital LIKE CONCAT('%',name,'%') AND REPLACE(capital, name, '') != ''
20.顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。
SELECT name FROM world WHERE population>=200000000
21.找出有至少200百萬(2億)人口的國家名稱,及人均國內生產總值。
SELECT name,GDP/population FROM world WHERE population >200000000
22.顯示’South America’南美洲大陸的國家名字和以百萬為單位人口數。 將人口population 除以一百萬(1000000)得可得到以百萬為單位人口數。
select name, population/1000000 from world where continent = 'South America'
23.顯示法國,德國,意大利(France, Germany, Italy)的國家名稱和人口
select name, population from world where name in('France', 'Germany', 'Italy')
24.顯示包含單詞“United”為名稱的國家
select name from world where name like '%United%'
25.成為大國的兩種方式:如果它有3百萬平方公里以上的面積,或擁有250百萬(2.5億)以上人口。
select name,population,area from world where area >= 3000000 or population >= 250000000
26.顯示以人口或面積為大國的國家,但不能同時兩者。顯示國家名稱,人口和面積。
select name,population,area from world where (area > 3000000 AND population < 250000000 ) or (area < 3000000 AND population >250000000 )
27.對於南美顯示以百萬計人口,以十億計2位小數GDP。
select name,round(population/1000000,2),round(gdp/1000000000,2) from world WHERE continent = 'South America'
28.顯示萬億元國家的人均國內生產總值,四捨五入到最近的$ 1000
SELECT name,round(gdp/population, -3) from world where gdp > 1000000000000
29.更改查詢以顯示1950年諾貝爾獎的獎項資料。
SELECT yr, subject, winner FROM nobel WHERE yr = 1950
30.顯示誰贏得了1962年文學獎(Literature)。
SELECT winner FROM nobel WHERE yr = 1962 AND subject = 'Literature'
31.顯示“愛因斯坦”(‘Albert Einstein’) 的獲獎年份和獎項。
select yr, subject from nobel where winner='Albert Einstein'
32.顯示2000年及以後的和平獎(‘Peace’)得獎者。
select winner from nobel where yr >= 2000 and subject = 'Peace'
33.顯示1980年至1989年(包含首尾)的文學獎(Literature)獲獎者所有細節(年,主題,獲獎者)。
select * from nobel where yr between 1980 and 1989 and subject = 'Literature'
34.顯示總統獲勝者的所有細節
SELECT * FROM nobel
WHERE winner IN ('Theodore Roosevelt',
'Woodrow Wilson',
'Jimmy Carter')
35.顯示名字為John 的得獎者。 (注意:外國人名字(First name)在前,姓氏(Last name)在後)
select winner from nobel where winner like 'John%'
36.顯示1980年物理學(physics)獲獎者,及1984年化學獎(chemistry)獲得者。
select * from nobel where (yr = 1980 and subject='physics') or (yr=1984 and subject='chemistry')
37.查看1980年獲獎者,但不包括化學獎(Chemistry)和醫學獎(Medicine)
select * from nobel where subject not in('Chemistry', 'Medicine') and yr = 1980
38.顯示早期的醫學獎(Medicine)得獎者(1910之前,不包括1910),及近年文學獎(Literature)得獎者(2004年以後,包括2004年
select * from nobel where (subject='Medicine'and yr < 1910) or (subject='Literature' and yr >= 2004)