SQLの読み解き方
SQLがわからない、という相談を受けたのでこう答えましたよ、という備忘録。
SQLは3つのブロックに分かれる
- select
- from
- where
この3つのブロックの読む順番が大事です。
ここから例えに沿って見ていきましょう。
「世界の国々から、アジア圏の国名・首都を知りたい」というお題にしましょう。
これを少しSQLに寄せた表現にしてみると
- 世界の国々というテーブルから
- アジア圏を絞って
- 国名・首都を表示する
少しSQLに近づきました。
fromでテーブルを指定
では早速、SQLに当てはめて行きましょう。
まずは、世界の国々というテーブルを指定します。
(countryというテーブルがあるとしましょう)
from country
これで、何から情報を得たいのか、SQLで伝えることができました。
whereで条件指定
次に、アジア圏という条件を指定してあげます。
(countryテーブルには、continentというカラムがあるとします)
where continent = ‘アジア’
これで、どんな情報を得たいのか、SQLで伝えられました。
selectで表示する項目を指定
最後に、私たちは国名・首都を知りたいんでしたね。では、指定してあげましょう。
(countyテーブルにはname、capitalというカラムがあるとします)
select name, capital
これで、何を表示してほしいのか、SQLに伝えることができました。
まとめ
では、全部合わせるとどうなるか見てみましょう
select name, capital
from country
where continent = ‘アジア’
書く順番と読み解く順番が異なるのが、混乱するポイントでしたね。
このSQLを実行すると何が返ってくるのか。
name | capital
日本 | 東京
韓国 | ソウル
タイ | バンコク
私たちの目的が何だったのか、振り返ってみましょう
「世界の国々から、アジア圏の国名・首都を知りたい」でした。叶いましたね!