SQL语句练习(二)
2009-12-26 16:51
330 查看
表名:bbc
该表有5个字段(columns),又称为
1. 给出人口多于Russia(俄国)的国家名称
2. 给出'India'(印度), 'Iran'(伊朗)所在地区的所有国家的所有信息.
select * from bbc where region in(select region from bbc where name in ('India','Iran'))
3. 给出人均GDP超过'United Kingdom'(英国)的欧洲国家.
select name from bbc where gdp/population>(select gdp/population from bbc where name='United Kingdom')and region='Europe'
4.哪个国家的人口比Canada(加拿大)多但少于Algeria(阿尔及利亚)?
select name from bbc where population>(select population from bbc where name='Canada')and population<(select population from bbc where name='Algeria')
5.给出GDP比任何欧洲国家都多的国家(只要显示国家名称).
6.给出每个地区人口最大的国家:
或者:
或者:
7.给出地区中所有国家的人口总数为0的地区.
或者:
8.有些国家的人口数比她的周边国家(周边国家指在同一地区的国家)要多三倍,列出这些国家和地区.
或者
该表有5个字段(columns),又称为
属性(attributes).
name
region
area
population
gdp
1. 给出人口多于Russia(俄国)的国家名称
SELECT name FROM bbc WHERE population> (SELECT population FROM bbc WHERE name='Russia')
2. 给出'India'(印度), 'Iran'(伊朗)所在地区的所有国家的所有信息.
select * from bbc where region in(select region from bbc where name in ('India','Iran'))
3. 给出人均GDP超过'United Kingdom'(英国)的欧洲国家.
select name from bbc where gdp/population>(select gdp/population from bbc where name='United Kingdom')and region='Europe'
4.哪个国家的人口比Canada(加拿大)多但少于Algeria(阿尔及利亚)?
select name from bbc where population>(select population from bbc where name='Canada')and population<(select population from bbc where name='Algeria')
5.给出GDP比任何欧洲国家都多的国家(只要显示国家名称).
select name from bbc where gdp>all(select gdp from bbc where region='Europe')
6.给出每个地区人口最大的国家:
SELECT region, name, population FROM bbc x WHERE population >= ALL (SELECT population FROM bbc y WHERE y.region=x.region)
或者:
SELECT name FROM bbc x WHERE population = (SELECT max(population) FROM bbc y WHERE x.region = y.region)
或者:
SELECT name FROM bbc WHERE population IN (SELECT max(population) FROM bbc GROUP BY region)
7.给出地区中所有国家的人口总数为0的地区.
SELECT region FROM bbc WHERE 0 = ALL(SELECT sum(population) FROM bbc GROUP BY region)
或者:
SELECT region FROM bbc GROUP BY region HAVING sum(population) = 0
8.有些国家的人口数比她的周边国家(周边国家指在同一地区的国家)要多三倍,列出这些国家和地区.
select name,region from bbc a where population > all (select population*3 from bbc b where a.region=b.region and a.name!=b.name)
或者
select name,region from bbc a where population > all (select population*3 from bbc b where a.region=b.region and a.name<>b.name)
相关文章推荐
- SQL语句练习实例之五 WMS系统中的关于LIFO或FIFO的问题分析
- SQL语句练习实例之十——SQL SERVER 行转列的性能测试
- Oracle中scott用户下基本表练习SQL语句
- sql语句练习
- 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 2
- [转载]sql语句练习50题
- SQL语句练习实例之七——剔除不需要的记录行
- 一个关于SQL语句的练习题目
- 数据库SQL语句练习
- sql语句练习(函数)
- Oracle 数据库基础学习 (七) SQL语句综合练习
- SQL语句练习实例之一――找出最近的两次晋升日期与工资额
- SQL语句练习实例之四——找出促销活动中销售额最高的职员
- oracle之sql语句常见练习
- 相关sql语句的练习
- sql 语句练习与答案
- 【基础篇—SQL语句相关概念及练习】
- 基础篇—SQL语句相关概念及练习
- 练习sql语句的好去处——http://www.sqlzoo.cn/