アツシマンダイβ

学びながら、ゆるくアウトプットします。

第2回:SQLの基本は、SELECT句、FROM句、WHERE句。

      2017/11/26

さて、前回はSQLでデータを抽出できるので、マーケティングに使えるよという話をしました。

今回は、いよいよSQL文の書き方に入っていきたいと思います。

僕はMicrosoft SQL Server Management Studioというやつを使っているので、その文法になっています。

ということで、今回は「仲間たち」という名前のテーブルがあると仮定して進めていきます。

仲間たち
名前 性別 誕生月 誕生日 都道府県
たろう 3 10 東京
はなこ 2 3 大阪
じろう 10 5 東京
ちえこ 4 12 沖縄
りんこ 4 30 京都
けいすけ 3 21 北海道

FROM句にはデータを引っ張ってきたいテーブルを書く

まず、FROM句にはデータを引っ張ってきたいテーブルを書きます。

今回の場合は「FROM 仲間たち」ですね。

SELECT句には、抽出したいデータ項目を書く

SELECT句には、抽出したいデータ項目を書きます。

名前と性別を抽出したい場合には、

———————————————————-

SELECT 名前,性別

FROM 仲間たち

———————————————————-

出力:

名前 性別
たろう
はなこ
じろう
ちえこ
りんこ
けいすけ

———————————————————-

ですね。簡単!

すべての項目を抽出したい場合

さて、すべての項目を抽出したい場合も多いかと思います。

そんなときは、「SELECT 名前, 性別, …」とすべて書いてもいいのですが、もっと楽に書く方法があって、「SELECT *」と書きます。

———————————————————-

SELECT *

FROM 仲間たち

———————————————————-

出力:

名前 性別 誕生月 誕生日 都道府県
たろう 3 10 東京
はなこ 2 3 大阪
じろう 10 5 東京
ちえこ 4 12 沖縄
りんこ 4 30 京都
けいすけ 3 21 北海道

———————————————————-

ですね。楽勝!

上から決まったレコード数を抽出する場合

このテーブルってどんなデータが入ってるんだっけって見るときにも、いったん全項目を抽出してみます。

でも、すべてのレコードを抽出する必要はないですよね。上から30レコードくらい見れば、どんな感じのデータなのかは大体わかるし、その方が早く抽出できます。

そんなときは「SELECT top 30 *」という風に書くと、上から30レコードが抽出されます。

———————————————————-

SELECT top 3 *

FROM 仲間たち

———————————————————-

出力:

名前 性別 誕生月 誕生日 都道府県
たろう 3 10 東京
はなこ 2 3 大阪
じろう 10 5 東京

———————————————————-

この調子!

重複を除きたい

抽出するときに、重複を取り除きたいときがあります。

たとえば、自分はどこの都道府県にお客様を抱えているんだろうというときに、以下のように書くと…

———————————————————-

SELECT 都道府県

FROM 仲間たち

———————————————————-

出力:

都道府県
東京
大阪
東京
沖縄
京都
北海道

———————————————————-

すべてのレコードを抽出しているため、東京が2回出てきてしまいます。

そこで、重複を取り除くためには、「SELECT distinct 都道府県」と書きます。

———————————————————-

SELECT distinct 都道府県

FROM 仲間たち

———————————————————-

出力:

都道府県
東京
大阪
沖縄
京都
北海道

———————————————————-

distinctで項目が2つ以上ある場合

2つ以上項目を指定した場合は、それらがすべて重複しているときだけ、重複が削除されます。

———————————————————-

SELECT distinct 性別, 誕生月

FROM 仲間たち

———————————————————-

出力:

性別 誕生月
3
2
10
4

———————————————————-

この場合は、「たろう」のレコードと「けいすけ」のレコードが、ともに性別が「男」で誕生月が「3」なので重複が取り除かれます。「ちえこ」と「りんこ」のレコードについても同様です。

WHERE句でフィルタをかける

さて、最後にWHERE句です。

WHERE句はエクセルを触ったことがある方は、フィルタ機能みたいなものだと思ってください。

たとえば、東京の仲間たちだけ抽出したいときは、フィルタをかけて、都道府県のところを東京だけにすると思います。

それをSQLでは、「WHERE 都道府県 = ‘東京’」と書きます。東京を”で囲うのは、データ型が文字列だからだと覚えておいてください。データ型については、文字列(Varchar)や数字(Int)などがありますが、いずれ書きたいと思います。

———————————————————-

SELECT *

FROM 仲間たち

WHERE 都道府県 = ‘東京’

———————————————————-

出力:

名前 性別 誕生月 誕生日 都道府県
たろう 3 10 東京
じろう 10 5 東京

———————————————————-

ですね!

どうですか、SQLの基本はこんな感じです。意外と難しくないですよね?

というわけで、どんどん楽しんでSQLを書いてデータを抽出してみてください!笑

SQLでマーケティング講座

「SQLとは」~「SQLの書き方」、「SQLを用いたデータ分析」などについて、書いていきたいと思います。

第1回:SQLを使うとデータベースから好きなデータを抽出できる。

第2回:SQLの基本は、SELECT句、FROM句、WHERE句。

 - SQL