LeetCode:595.大的国家

题目链接:https://leetcode-cn.com/problems/big-countries/

题目

这里有张 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 |
+--------------+-------------+--------------+

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/big-countries
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

---- oracle ----
/* Write your PL/SQL query statement below */
select name,
       population,
       area
from World
where area > 3000000 or population > 25000000; ---- 489ms

果然是简单级别的,第一次写就通过。

拯救了我的信心。 —— 哈哈,神评论!!!

---- oracele ----
/* Write your PL/SQL query statement below */
select name,
       population,
       area
from World
where area > 3000000 
union
select name,
       population,
       area  
from World
where population > 25000000; --- 406ms 更快

思考

使用or或者union进行解题。

or的效率很低,尽量避免使用or

原文地址:https://www.cnblogs.com/hider/p/11721286.html