SQLの基本:SELECT文でデータベースからデータを抽出

SQLの基本「SELECT文」をわかりやすく解説!クエリの使い方やデータベース操作の基礎を学べます。

こんにちは、リーマンパパです!今回はSQLの中でも最も基本的なSELECT文の書き方についてご紹介します。エンジニアになりたての方や、エンジニアではないけどデータベースに興味があるといった方へ少しでも参考になれば幸いです。

それでは早速参りましょう!

目次

はじめに

SQL(Structured Query Language)は、データベースを操作するための言語です。その中でも「SELECT文」は、データベースから情報を取得するための最も基本的かつ重要な命令文です。本記事では、SELECT文の基本的な構文から、複数のテーブルを扱う方法や条件を絞り込むためのWHERE句の使い方まで、丁寧に解説します。


SELECT文とは?

SELECT文は、データベースのテーブルから必要な情報を検索し表示するための命令文です。例えば、以下のような2つのテーブルがあるとします。

テーブル1: customer

店番CIF顧客名
10012345678ラリー ペイジ
20023456789ジェフ ベゾス
30034567891イーロン マスク
40045678912スティーブ ジョブズ
50056789123羽生 善治

テーブル2: corporate

創業者CIF企業名現役CEO
12345678グーグル引退
23456789アマゾン引退
34567891ペイパル引退
34567891テスラ現役
45678912ピクサー引退
45678912アップル引退

上記の2つのテーブルから、以下のような情報を取得したいとします。

企業名顧客名現役CEO

これを実現するのがSELECT文です。


SELECT句の基本構文

SELECT文の基本構文は次の通りです。

SELECT カラム名1, カラム名2, ...
FROM テーブル名;

`

複数のカラムを指定する場合は、カラム名をカンマで区切ります。今回の例では、次の3つのカラムを取得します。

  • corporate.企業名
  • customer.顧客名
  • corporate.現役CEO

この場合のSELECT文は次のようになります。

SELECT DISTINCT
    corporate.企業名,
    customer.顧客名,
    corporate.現役CEO

ここで使われているDISTINCTは、重複するデータを除外するためのキーワードです。


FROM句の使い方

FROM句では、どのテーブルからデータを取得するかを指定します。今回の例では、customerテーブルとcorporateテーブルを結合してデータを取得します。

テーブルの結合

複数のテーブルを結合する場合は、次のようにJOIN句を使用します。

FROM テーブルA
LEFT JOIN テーブルB ON テーブルA.カラム名 = テーブルB.カラム名

JOINには以下の種類があります:

  • LEFT JOIN: 左側のテーブルの全レコードを取得し、条件に合致する右側のテーブルのレコードを結合。
  • RIGHT JOIN: 右側のテーブルの全レコードを取得し、条件に合致する左側のテーブルのレコードを結合。
  • INNER JOIN: 両方のテーブルで条件に合致するレコードのみを取得。

今回は、LEFT JOINを使用してcustomerテーブルとcorporateテーブルを結合します。

FROM customer
LEFT JOIN corporate ON customer.CIF = corporate.創業者CIF

WHERE句で条件を指定する

WHERE句を使うと、検索結果を特定の条件で絞り込むことができます。基本構文は次の通りです。

WHERE カラム名 条件演算子 条件値;

主な条件演算子は以下の通りです:

  • =: 等しい
  • <>: 等しくない
  • LIKE: 部分一致
  • IN: 指定した値のいずれかに一致
  • BETWEEN: 範囲指定

今回の例では、「現役CEO」のカラムが「現役」のデータだけを取得します。

WHERE corporate.現役CEO = '現役'

文字列を指定する場合は、シングルクォーテーション (') で囲む点に注意してください。


最終的なSQL文

以上をまとめると、今回のSQL文は以下のようになります。

SELECT DISTINCT
    corporate.企業名,
    customer.顧客名,
    corporate.現役CEO
FROM customer
LEFT JOIN corporate ON customer.CIF = corporate.創業者CIF
WHERE corporate.現役CEO = '現役';

このクエリを実行すると、以下の結果が得られます。

企業名顧客名現役CEO
テスライーロン マスク現役

おわりに

今回の例では、SELECT文の基本構文と、複数テーブルを扱うJOIN句、条件を絞り込むWHERE句について解説しました。SQLの基本をマスターすれば、業務データを効率的に操作できるようになります。

まずは簡単なクエリから試してみて、徐々に複雑なSQL文にも挑戦してみてください!


以上が「SELECT文」の基本的な解説です。次回は、集計関数やGROUP BY句について詳しく解説します。お楽しみに!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次