Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

leet codeのSQL問題を1日1題解く【595. Big Countries】

目次

初めに

今日もSQLの問題を解いて行きます。

問題

leetcode.com

セットアップ

以下のSQL文をローカル環境で実行します。

Create table If Not Exists World (name varchar(255), continent varchar(255), area int, population int, gdp bigint);
Truncate table World;
insert into World (name, continent, area, population, gdp) values ('Afghanistan', 'Asia', '652230', '25500100', '20343000000');
insert into World (name, continent, area, population, gdp) values ('Albania', 'Europe', '28748', '2831741', '12960000000');
insert into World (name, continent, area, population, gdp) values ('Algeria', 'Africa', '2381741', '37100000', '188681000000');
insert into World (name, continent, area, population, gdp) values ('Andorra', 'Europe', '468', '78115', '3712000000');
insert into World (name, continent, area, population, gdp) values ('Angola', 'Africa', '1246700', '20609294', '100990000000');

知らなかった or 理解があやふやな知識

Rubyの場合==で等価比較ができるのですが、SQLだと=で等価比較ができるので、ごっちゃにならないように気をつけます。

解答

以下のSQL文を実行したら、無事クリアできました。

SELECT name, area, population
from `World`
WHERE area >= 3000000 OR population >= 25000000;

終わり

明日もやります!

参考記事

MySQL AND, OR, NOT Operators

MySQL | 比較演算子の使い方