2023-12-01|閱讀時間 ‧ 約 5 分鐘

SQL條件語法 列出大型國家 Leetcode #595

題目敘述

題目會給我們一張World資料表,裡面分別有name、 continent、area、population 、gdp等欄位,其中name 是主鍵Primary Key。

要求我們列出所有大型國家,大型國家的定義是
人口大於等於兩千五百萬人 或者 土地面積大於等於三百萬平方公里。

輸出的順序不拘

Table: World

+-------------+---------+
| Column Name | Type |
+-------------+---------+
| name | varchar |
| continent | varchar |
| area | int |
| population | int |
| gdp | bigint |
+-------------+---------+
name is the primary key (column with unique values) for this table.
Each row of this table gives information about the name of a country, the continent to which it belongs, its area, the population, and its GDP value.

詳細的題目可在這裡看到


測試範例

Example 1:

Input: 
World table:
+-------------+-----------+---------+------------+--------------+
| name | continent | area | population | gdp |
+-------------+-----------+---------+------------+--------------+
| Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
| Albania | Europe | 28748 | 2831741 | 12960000000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000000 |
| Andorra | Europe | 468 | 78115 | 3712000000 |
| Angola | Africa | 1246700 | 20609294 | 100990000000 |
+-------------+-----------+---------+------------+--------------+
Output:
+-------------+------------+---------+
| name | population | area |
+-------------+------------+---------+
| Afghanistan | 25500100 | 652230 |
| Algeria | 37100000 | 2381741 |
+-------------+------------+---------+

約束條件

大型國家的定義是人口大於等於兩千五百萬人 或者 土地面積大於等於三百萬平方公里。


演算法

也是基本的入門題,在基本的查詢語法上,加上條件判斷 OR 表達兩個條件取其一滿足的意思,去篩選結果即可。

SELECT ...欄位 FROM ...表格 WHERE ...條件1 OR 條件2

如果是第一次接觸SQL的同學,請到這邊學習基本的SQL 語法


程式碼

SELECT name, population, area
FROM world
WHERE population >= 25000000 OR area >= 3000000;

關鍵知識點

掌握基本的SELECT ...欄位 FROM ...表格 WHERE ...條件1 OR 條件2

SQL語法即可。


Reference:

[1] MySQL sol. based on select ... from ...where condition - Big Countries - LeetCode

分享至
成為作者繼續創作的動力吧!
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
© 2024 vocus All rights reserved.