MySQL练习题--sqlzoo刷题2

 SELECT from Nobel Tutorial

1、Change the query shown so that it displays Nobel prizes for 1950.

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

 

2、Show who won the 1962 prize for Literature.

select winner from nobel where yr=1962 and subject='literature';

 

3、Show the year and subject that won 'Albert Einstein' his prize.

select yr,subject from nobel where winner='albert einstein';

 

4、Give the name of the 'Peace' winners since the year 2000, including 2000.

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

 

5、Show all details (yrsubjectwinner) of the Literature prize winners for 1980 to 1989 inclusive.

select * from nobel where subject='literature' and yr between 1980 and 1989;

 

6、Show all details of the presidential winners:

  • Theodore Roosevelt
  • Woodrow Wilson
  • Jimmy Carter
  • Barack Obama
select * from nobel 
where winner in ('Theodore Roosevelt','Woodrow Wilson','Jimmy Carter','Barack Obama');

 

7、Show the winners with first name John

select winner from nobel where winner like 'John%';

 

8、Show the year, subject, and name of Physics winners for 1980 together with the Chemistry winners for 1984.

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

 

 9、Show the year, subject, and name of winners for 1980 excluding Chemistry and Medicine

select yr,subject,winner from nobel 
where yr=1980 and subject not in ('chemistry','medicine');

 

10、Show year, subject, and name of people who won a 'Medicine' prize in an early year (before 1910, not including 1910) together with winners of a 'Literature' prize in a later year (after 2004, including 2004)

select yr,subject,winner from nobel 
where (subject='medicine' and yr<1910)
or subject='literature' and yr>=2004;

 

11、Find all details of the prize won by PETER GRÜNBERG

select * from nobel
where winner='PETER GRÜNBERG';

 

12、Find all details of the prize won by EUGENE O'NEILL

select * from nobel
where winner='eugene O\'NEILL';

 

13、List the winners, year and subject where the winner starts with Sir. Show the the most recent first, then by name order.

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 ('Physics','Chemistry'),subject,winner;

 

总结:

1、字符串本身有引号‘’时,应该使用转义字符\进行转义。

posted @ 2018-09-07 13:00  平淡才是真~~  阅读(2563)  评论(0编辑  收藏  举报