いよいよSQLの具体的な書き方を勉強していきます!
まずはテーブルからデータを抽出してみましょう!
目次
まずは抽出の流れを理解しよう
SQLの上達のコツは、事前に抽出の流れをイメージすることです!
テーブルからデータを抽出の流れは、次のようになります。
「テーブルを選ぶ」 ↓ 「そのテーブル内で抽出したいデータを選ぶ」
具体例と共に、詳しく説明していきます!
テーブルを選ぶ
通常、SNSサイトやショッピングサイトなど、サービスごとに複数のテーブルがデータベース(テーブルたちの保存場所)に入っています。
まずは、複数のテーブルの内、
どのテーブルからデータを抽出したいか
を選ぶ必要があります。
ここでは、以下のユーザーテーブルを選んだとしましょう。
id | name | gender | age | created_at |
---|---|---|---|---|
1 | 太郎 | 男性 | 40 | 2022-1-1 12:20:48 |
2 | よしお | 男性 | 31 | 2022-1-1 15:40:39 |
3 | SAKI | 女性 | 34 | 2022-1-2 06:00:21 |
4 | れいか | 女性 | 30 | 2022-1-3 10:00:40 |
5 | マイケル | 男性 | 29 | 2022-1-3 10:06:01 |
抽出したいデータを選ぶ
テーブルを選んだら、次にそのテーブルの中で、
どのデータを抽出したいか
を選びます。
もし登録ユーザーの名前が知りたい場合は、ユーザーテーブルのnameカラムの値にそれが入っているので、nameカラムを抽出すればよいですね!
name |
---|
太郎 |
よしお |
SAKI |
れいか |
マイケル |
この抽出の流れをイメージした上で、次は具体的なSQLの書き方に移りましょう!
SQLで抽出してみよう
①FROMでテーブルを選ぶ
テーブルを選ぶ際は、FROM テーブル名
と書きます。
(「〇〇のテーブルから情報を選びますよ~」という意味ですね。)
通常、テーブルにはそれぞれ独自の名前があります。
仮にユーザーテーブルの名前が「users」だとした場合、以下のように書くことで、usersテーブルを選ぶことができます。
FROM users
②SELECTで抽出したいデータを選ぶ
テーブル内のカラムを選ぶ際は、SELECT カラム名
と書きます。
(「〇〇というカラムを選びますよ~」という意味ですね。)
usersテーブル中の「name」カラムを選ぶ場合、先ほどのSQL文の上に、次のように付け加えます。
SELECT name
FROM users
このSQL文を実行することで、知りたかった登録ユーザー名が返ってきます!
ただ、SQL文を見やすくするために、以下のように改行とインデント(文章の前に空白を設けること)を加えたほうがベターです。
SELECT
name
FROM
users
※ 改行やインデントを加えても、取得結果はまったく同じなのでご安心を!
お疲れ様です、これでSQL文の完成です!
ちなみに、このようにSQLで書かれた文章のことを、「クエリ」と呼ぶので、覚えておきましょう!
それでは、練習問題に挑戦してみましょう!
練習問題
id | name | gender | age | created_at |
---|---|---|---|---|
1 | 太郎 | 男性 | 40 | 2022-1-1 12:20:48 |
2 | よしお | 男性 | 31 | 2022-1-1 15:40:39 |
3 | SAKI | 女性 | 34 | 2022-1-2 06:00:21 |
4 | れいか | 女性 | 30 | 2022-1-3 10:00:40 |
5 | マイケル | 男性 | 29 | 2022-1-3 10:06:01 |
練習問題①
usersテーブルの中からageカラムの値を抽出するクエリを書いてください。
練習問題②
usersテーブルの中からnameカラムとageカラムの値を抽出するクエリを書いてください。
練習問題③
usersテーブルの中から、全てのカラムの値を抽出するクエリを書いてください。
おめでとうございます、これでやっと、SQLへの第一歩を踏み出しましたね(^^)/
この先もまだまだ続きますが、SQLは本当に簡単なので、ぜひお茶でも飲みながら、気楽に勉強していきましょう!