【SQL入門】SQLとは?その書き方の基本から実例まで徹底解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年6月)

✔以下の疑問をお持ちの方へ向けた記事です

「SQLとは何で、基本的な概念を学びたい」
「SQLの基本的な操作を理解したい」
「SQLの実践的な使用例を見て学びたい」

✔この記事を読むことで得られる知識

  • SQLの基本的な概念の理解
  • SQLの基本的な操作方法
  • SQLを用いた具体的な使用例

この記事では、SQLの基本的な概念から実践的な使い方まで、初心者にもわかりやすく実例付きで解説します。

初めてSQLを学ぶ方でも安心して学べる内容となっています。

ぜひ最後までお読みください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロジェクトマネージャー/SE(元外資系金融機関営業)

【副業】ブログ(月間15万PV)/YouTube/Web・アプリ制作

コミュニケーション × ビジネススキル × 文章力 × プログラミングスキルを活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

データベースとSQLの概要

こちらでは、データベースとSQLについてお伝えしていきます。

データベースとSQLについて知ることは、データ操作の基本となります。

  • データベースとは?
  • SQLとは?

データベースとは?

データベースは、情報を組織化し、管理し、アクセスを容易にするためのシステムです。

それらは関連性を持ったデータの集合体で、効率的な検索と更新を可能にします。

例えば、会社の顧客データベースでは以下のようなデータが保存されるのが一般的です。

  • 顧客の名前
  • 連絡先情報
  • 購入履歴

SQLとは?

SQL(Structured Query Language)は、データベースから情報を取得したり、データベースに情報を追加、更新、削除したりするための言語です。

広く利用されている標準的なデータベース言語で、Oracle, MySQL, PostgreSQLなど多くのデータベースシステムがSQLをサポートしています。

SQLの三つのカテゴリ:DDL, DML, DCL

次に、SQLの主なカテゴリであるDDL、DML、DCLについて詳しく説明します。

これらのカテゴリを理解することで、どのような操作をSQLで行えるのかが明確になります。

  • DDL(データ定義言語)の概要
  • DML(データ操作言語)の概要
  • DCL(データ制御言語)の概要

DDL(データ定義言語)の概要

DDL(Data Definition Language)は、データベースの構造を定義するためのSQL。

以下のようなものが例です。

  • テーブルの作成(CREATE)
  • 変更(ALTER)
  • 削除(DROP)

例えば、新しいテーブルを作成するときや、既存のテーブルの構造を変更するときにDDLを使用します。

DML(データ操作言語)の概要

DML(Data Manipulation Language)は、データを操作するためのSQLの一部です。

データ操作は以下のようなものが含まれます。

  • データの選択(SELECT)
  • 追加(INSERT)
  • 更新(UPDATE)
  • 削除(DELETE)

DMLはSQLの最も頻繁に使用される部分で、日々のデータベース操作の大部分を占めています。

DCL(データ制御言語)の概要

DCL(Data Control Language)は、データベースのセキュリティと完全性を管理するためのSQLの一部です。

例としては以下のようなものが含まれます。

  • 権限の付与(GRANT)
  • 権限の取り消し(REVOKE)
  • トランザクションの制御(COMMIT, ROLLBACK)

特定のユーザーにテーブルへのアクセス権を与えたり、取り消したりするときにDCLが使用されます。

SQLの基本的なコマンド

ここでは、SQLの基本的なコマンドについて詳しく説明します。

これらのコマンドを使いこなすことで、データの抽出や追加、更新、削除が容易になります。

  • SELECT文:データの抽出
  • INSERT文:データの追加
  • UPDATE文:データの更新
  • DELETE文:データの削除

SELECT文:データの抽出

SELECT文は、データベースから必要なデータを抽出するためのコマンドです。

SELECT 項目名 FROM テーブル名 WHERE 条件;

条件に合致する項目をテーブルから選び出ぶコマンド。

例えば、顧客テーブルから特定の顧客の情報を抽出するときなどに使われます。

INSERT文:データの追加

INSERT文は、新しいデータをデータベースに追加するためのコマンドです。

INSERT INTO テーブル名 (項目名) VALUES (値);

指定したテーブルの指定した項目に値を追加します。

例としては、新たな顧客情報を顧客テーブルに追加する場合などが挙げられます。

UPDATE文:データの更新

UPDATE文は、データベースの既存のデータを更新するためのコマンドです。

UPDATE テーブル名 SET 項目名 = 新しい値 WHERE 条件;

条件に合致する項目の値を更新します。

例えば、顧客の連絡先情報が変わった際に、その情報を顧客テーブルで更新するときなどに使われます。

DELETE文:データの削除

DELETE文は、データベースから不要なデータを削除するためのコマンドです。

DELETE FROM テーブル名 WHERE 条件;

条件に合致するデータを削除します。

一定期間以上更新のないデータを削除するときなどに使えるでしょう。

WHERE句を用いたデータの絞り込み

ここでは、WHERE句を用いてデータを絞り込む方法について詳しく説明します。

WHERE句を使うと、特定の条件を満たすデータだけを抽出可能です。

  • WHERE句の基本的な使用方法
  • 複数条件の指定:ANDとOR

WHERE句の基本的な使用方法

WHERE句は、SELECT、UPDATE、DELETE文とともに使用され、特定の条件を満たす行だけを選択します。

SELECT * FROM Customers WHERE Country='Japan';

Countryカラムが’Japan’である行だけをCustomersテーブルから選びます。

複数条件の指定:ANDとOR

WHERE句では、複数の条件を組み合わせての使用も可能。

これには主にANDとORが用いられます。

ANDはすべての条件が真である行を、ORはどれか一つでも条件が真である行を選択します。

SELECT * FROM Customers WHERE Country='Japan' AND City='Tokyo';

Countryが’Japan’で、かつCityが’Tokyo’である行だけを選びます。

関数を用いたデータ操作

このセクションでは、SQLにおける関数の使用について解説します。

関数を使用すると、データの加工や集計など、より複雑な操作を行うことができます。

  • 集約関数:SUM, AVG, COUNTなど
  • 日付関数:DATE_FORMAT, NOWなど
  • 文字列関数:LENGTH, CONCAT, SUBSTRINGなど

集約関数:SUM, AVG, COUNTなど

集約関数は、一連の値に対して操作を行い、単一の値を返す関数です。

例えば、SUMは数値の合計を計算し、AVGは平均値を計算し、COUNTは行数を計算します。

これらの関数は特に、ビジネスレポートやダッシュボードの作成に便利です。

日付関数:DATE_FORMAT, NOWなど

日付関数は、日付や時間に関連する情報を処理するための関数です。

  • DATE_FORMAT:日付を特定の形式に変換
  • NOW:現在の日付と時間を返す

これらの関数は特に、ログ分析や時間に基づくレポートの作成に有用です。

文字列関数:LENGTH, CONCAT, SUBSTRINGなど

文字列関数は、文字列データの操作に用いられます。

  • LENGTH:文字列の長さを返す
  • CONCAT:二つ以上の文字列を連結
  • SUBSTRING:文字列の一部を抽出

これらの関数は、データの前処理や特定の形式の文字列データの生成に有用です。

複数テーブルの操作:JOINとUNION

ここでは、複数のテーブルを操作するための2つの主要な手法、JOINとUNIONについて解説します。

  • JOINの基本
  • UNIONの使用例

JOINの基本

JOINは、複数のテーブルを連結するためのSQLの命令です。

これにより、関連する情報が異なるテーブルに分散している場合でも、それらを一緒に取得できます。

例えば、”users”テーブルと”orders”テーブルがある場合、それぞれのユーザーがどの注文を行ったかを把握するためには、これらのテーブルをJOINすることが一般的です。

UNIONの使用例

UNIONは、異なるSELECT文の結果を結合するためのSQLの命令です。

ただし、これらのSELECT文は同じ数と型の列を持つ必要があります

例えば、”sales2019″テーブルと”sales2020″テーブルがあり、両年の全ての販売を一覧表示したい場合、UNIONを使用してこれらのテーブルを結合可能です。

SQLを活用する次のステップ

これまでに学んだ基本的なコマンドと関数を活用すれば、多くのデータ操作が可能となります。

しかし、SQLの学習はこれだけで終わりではありません。

次のステップとしては、より高度な概念であるサブクエリの活用や、特定のDBMS(MySQLなど)での基本操作を覚えることがおすすめです。

  • サブクエリの活用
  • MySQLでの基本操作

サブクエリの活用

サブクエリとは、SQL文の中にさらにSQL文を埋め込むことです。

これにより、一連の操作を単一のSQL文で表現できます。

例えば、全商品の平均価格以上の価格を持つ商品を抽出したい場合、その平均価格を先に計算するためのサブクエリを作成し、それを用いて主要なクエリを実行します。

サブクエリは、より複雑な問題を解決するための強力なツールです。

MySQLでの基本操作

MySQLは、世界中で広く使われているデータベース管理システム(DBMS)のひとつ。

SQLの基本的なコマンドはDBMS間で共通ですが、特定のDBMSに対する知識も非常に重要です。

MySQLでは、データベースやテーブルの作成、ユーザー管理など、特定の操作を行うための専用のコマンドが存在します。

これらの操作を学ぶことで、SQLをより深く理解し、実際のデータベース管理に活かせるでしょう。

まとめ:SQLでデータを自在に操る

当記事では、以下のことをお伝えしました。

  • データベース
  • SQLの基本的な概念
  • 各種のコマンドと関数
  • JOINやUNION
  • サブクエリ

これらの知識を身につけることで、SQLを使ってデータベースから情報を抽出したり、データを効率的に操作したりが可能となります。

また、特定のDBMSでの基本操作についても触れました。

SQLの学習はここで終わりではなく、日々の練習と経験を通じて、より高度な技術を身につけていくことが重要です。

これからもSQLの学習を続け、データを自在に操るスキルを磨いていきましょう。

以下はブラウザでSQLが試せるサイトですので、おすすめです。

SQL Fiddle
Application for testing and sharing SQL queries.
タイトルとURLをコピーしました