SQLが使えるようになると、データベースから自分で欲しいデータを抽出できるようになるので、とても便利です。
しかし、「SQLってプログラミングだからなんだか難しそう…」「習得するまでに時間がかかりそう…」とハードル高く設定してしまう人がいることも事実です。
実は、データを抽出するだけなら「SELECT文」と呼ばれる一つの基本形を押さえるだけで大丈夫なんです。エンジニアであれば、他の構文も覚える必要がありますが、非エンジニアはSQLの全部を覚える必要はありません。
他のプログラミング言語を習得することと比べても、難易度はかなり低いです。
本記事では、データベースの基本知識とSQLの基本形であるSELECT文について解説しています。SELECT文を理解して、SQL習得への第一歩を踏み出しましょう!
目次
データベース構造を理解する
データベースは、Webサービスなどで扱う情報やデータを管理する場所のことです。
データが色んなところに散らばっていたら、探すのに時間がかかりますよね。膨大なデータを扱いやすく管理して、情報の抽出や編集・共有をしやすくすることがデータベースの役割です。
データベースは一般的に下記のように、Excelの表のような形式でデータを保管しています。
これをリレーショナルデータベース(略称:RDB)と言うのですが、詳しくは下記の記事で解説しているのでご覧ください。
【非エンジニア向け】SQLとデータベースの基礎知識を分かりやすく解説テーブルの構造を理解する
そして、データベースの中に管理されているそれぞれの表のことを「テーブル」と言います。ユーザー情報を扱う表は「usersテーブル」、商品情報を扱う表は「productsテーブル」とします。
テーブルの名称もデータベースを作成する人が自由に決めることができ、一般的にはエンジニアが命名しています。
テーブルには縦の情報と横の情報があり、縦の情報を「カラム」、横の情報を「レコード」と呼びます。
カラムは情報の種類を示しています。例えば、usersテーブルに職業の情報を追加したい場合は「job」のような名称で新しくカラムを作成するといった具合です。
レコードはデータの数を示しています。新しいデータが作成されたらレコードが増えるため、データの量が多いか少ないかを確認する場合はレコードの数を見ればOKです。
クエリを書いてデータベースへ命令を送る
データベースのデータを操作するためには、データベースへ命令を出す必要があります。この命令のことを「クエリ」と呼びます。クエリはSQLプログラムのことです。
SQLは言語自体のことを指しており、SQLで書かれたプログラムのことをクエリと言います。
私たちは「データを取得してください」「データを削除してください」といったようなクエリを書いてデータベースに命令を出すのです。
SQLによるデータベースへの指示出しは4種類しかない
SQLプログラムでデータベースに指示を出す命令文は4種類しかありません。それが下記です。
- SELECT文・・・データを取得する
- INSERT文・・・データを追加する
- UPDATE文・・・データを更新する
- DELETE文・・・データを削除する
とてもシンプルですよね。
この中で非エンジニアが使うのはSELECT文だけです。他の命令文は覚えなくてOKです。誤ってデータを更新したり削除したりすると大変ですからね。(一般的にはデータ取得以外の権限は非エンジニアには与えられませんが)
よって、SELECT文を基本形として様々な取得条件を覚えるのが非エンジニアのやるべきことになります。
SELECT文の書き方
それではいよいよクエリを書いてデータの取得を行います。
繰り返しになりますが、情報を取得するのに使用するプログラムは「SELECT文」です。よって、非エンジニアがSQLでクエリを書く場合は、SELECTから書き始めることになります。
SELECT文の基本構文が下記です。
SELECT カラム名
FROM テーブル名;
SELECTは「どのカラムのデータを取得するか」を指定し、FROMでは「どのテーブルから取得するか」を指定します。
💡ポイント
クエリの最後に;(セミコロン)
をつけることを忘れないようにしましょう。;(セミコロン)
は、「ここまでがクエリです」ということをデータベースに伝える役割があります。
全てのカラムを取得
usersテーブルに存在する全てのカラムのデータを取得したい場合は下記のようになります。
SELECT *
FROM users;
出力結果
id | name | age | address |
---|---|---|---|
1 | 山田 | 25 | 東京都 |
2 | 鈴木 | 34 | 神奈川県 |
3 | 佐藤 | 28 | 北海道 |
4 | 大野 | 45 | 大阪府 |
*(アスタリスク)
には全てという意味があり、usersテーブルの全てのカラムを取得することができます。
特定のカラムを取得
特定のカラムのみを指定する場合も見てみましょう。usersテーブルのnameカラムのデータのみを取得したい場合は下記のようになります。
SELECT name
FROM users;
出力結果
name |
---|
山田 |
鈴木 |
佐藤 |
大野 |
複数のカラムを指定して取得
また、複数のカラムを取得したい場合はカンマ区切りで繋げることで実現できます。
SELECT name, address
FROM users;
出力結果
name | address |
---|---|
山田 | 東京都 |
鈴木 | 神奈川県 |
佐藤 | 北海道 |
大野 | 大阪府 |
SQL文の書き方まとめ
いかがだったでしょうか。
思ったより簡単に感じた人も多いはずです。このように、データを取得するだけであれば難易度は高くありません。
ポイントは非エンジニアはSELECT文だけ覚えればOKということです。
今回は超基本形だけを紹介しましたが、ここから様々な条件を覚えることで、自分が欲しいと思ったデータを自由自在に取得できるようになります。
- 非エンジニアが覚えるべきSQLプログラムはSELECT文のみ
- SELECT文はデータベースからデータを取得するための命令文
- SELECT文を使った基本形は
SELECT テーブル名 FROM カラム名
- クエリの最後には必ず
;(セミコロン)
をつける - 全てのカラムの情報を取得したい場合は
*(アスタリスク)
を指定する - 複数のカラムの情報を取得したい場合は
,(カンマ)
を指定する