leedCode 大国家问题

2018-10-25  本文已影响0人  赵荣晖

这里有张World表

+-----------------+------------+------------+--------------+---------------+

| name | continent | area | population | gdp |

+-----------------+------------+------------+--------------+---------------+

| Afghanistan | Asia | 652230 | 25500100 | 20343000 |

| Albania | Europe | 28748 | 2831741 | 12960000 |

| Algeria | Africa | 2381741 | 37100000 | 188681000 |

| Andorra | Europe | 468 | 78115 | 3712000 |

| Angola | Africa | 1246700 | 20609294 | 100990000 |

+-----------------+------------+------------+--------------+---------------+

如果一个国家的面积超过300万平方公里,或者人口超过2500万,那么这个国家就是大国家。

编写一个SQL查询,输出表中所有大国家的名称、人口和面积。

例如,根据上表,我们应该输出:

+--------------+-------------+--------------+

| name | population | area |

+--------------+-------------+--------------+

| Afghanistan | 25500100 | 652230 |

| Algeria | 37100000 | 2381741 |

+--------------+-------------+--------------+

一、创建表的sql 略

知识点:可能是比较哪种查询方式比较快吧,比较基础的问题。

二、使用or的方式,全表扫描。写法简单,常见方式

SELECT name,population,area FROM WORLD WHERE AREA > 3000000 OR POPULATION >25000000

三、使用union的方式,范围扫描。数据量大时,会更快

SELECT name,population,area FROM WORLD WHERE AREA > 3000000 

union

SELECT name,population,area FROM WORLD WHERE POPULATION >25000000

leetcode提供的耗时没有参考意义,相同sql多次执行耗时都不相同

上一篇 下一篇

猜你喜欢

热点阅读