コンピューター用のプログラミング言語と並び、高い需要を保ち続けるSQL。
この記事をご覧になっている方のほとんどは、「SQL」について詳しく分からなくても、データベースと何らかの関係があることはお気づきになっていると思います。
そうです。SQLとは、データベースを操作するための言語です。
この記事では、SQLとは?というテーマに基づいて、初心者向けにわかりやすく説明します。また、イメージしやすいように、いくつかの実例コードも紹介します。
SQLとは
この章では、SQLとは?に関する初歩的な回答として、データベース言語とプログラミング言語を取り上げます。(SQLはデータベース言語です)
データベース言語
始めに。この記事のテーマである「SQL」とは、データベース言語のことです。
データベースとは、生活やビジネスのあらゆるシーンで活用されており、社会インフラのひとつでもあります。
例:データベースの活用シーン
<銀行口座>
<図書館>
<電子決済(〇〇ペイ)>
<宅配サービス>
このように、データベースの利用シーンは社会の中で限りなく存在しています。
詳しくは次章で紹介しますが、SQLはデータベース上に新しいデータ領域(テーブル)を作成したり、データを更新・削除したり、任意の条件で取り出したりするための言語です。
プログラミング言語
一方、プログラミング言語とは、JAVAやC言語、Pythonなど、パソコンやシステムを動作させるためのプログラムを書くための言語のことです。ゲームなどもプログラミング言語で書かれています。
「コードを書く」という行為では、SQLと似ていますが、SQLはプログラミング言語ではありません。
SQLとはデータベース言語のこと
SQLとはデータベース言語。これが結論です。
データベース言語という回答ではイメージができないかもしれませんが、具体的な実例は次章で紹介しますので、現段階では「SQLはデータベース言語」と理解しておきましょう。
SQLの実例
SQLとはデータベース言語。
このシンプルな結論が分かったうえで、初心者がより理解を深めるために、この章ではSQLを実際に使うシーンとともに、SQLの実コードを紹介します。
エクセルで例えると・・
(厳密にはエクセルに限らずWindows共通ですが、気にしないでください)
SQLはデータベース言語であり、データベースを操作するための言語です。
初心者でもわかりやすいように説明しましょう。エクセルを例にします。下記のイメージ図では、デスクトップにエクセルのファイルが保存されています。
そのエクセルのファイルをマウスを操作して開く場合、どのような操作をしますか?
ほとんどの方は、正解できるでしょう。「そのエクセル上でマウスをダブルクリックする」と答えるはずです。(右クリックの「開く」でも構いません)
そうです。『そのファイル上でマウスをダブルクリックする』という操作は、そのファイルを開くための標準のコマンドなのです。
そして、SQLとはそのコマンドをコードで記述することで、データベースを操作(命令)するのです。今回の例でいえば、マウスのダブルクリックに代わり、コードを記述して実行するのです。
テーブルの追加
テーブルとは、SQLやデータベースを理解するうえで最も初歩的な概念です。
詳細は後日、別記事で紹介しますが、データベースでは「テーブル」という構造によってデータを保持しています。テーブルとは「表形式」という意味であり、エクセルのシートのようなものです。
不規則かつ単発にデータを持っているわけではなく、下記のように整理された「テーブル」というデータ構造になっているのです。テーブルは複数存在するのが普通です。
上記は、「社員データテーブル」「職位データテーブル」「役職データテーブル」の見本ですが、たとえばその中に勤続年数によって支給額が決定される「退職金テーブル」を追加する場合には、下記のようなSQLコードをデータベースで実行することで新しいテーブルを追加することができます。
CREATE TABLE[退職金]
(
[勤続年数] int NOT NULL PRIMARY KEY,
[退職金] int NOT NULL PRIMARY KEY,
);
データの追加
次は、既存のテーブルへデータ(レコード)を追加する事例です。
下記の「役職データテーブル」には、現在4つの役職のレコードが存在していますが、社内の人事制度改定によって、新たにLDの下にSLD(サブリーダー)という役職が出来たとします。SLDの役職手当は、25,000円と仮定します。
この場合、「役職データテーブル」上にSLDを追加する必要がありますが、下記のようなSQLコードをデータベースで実行することで、既存のテーブルに新しいレコードを追加することができます。
INSERT INTO [役職]
(”役職”,”役職手当”)
VALUES
(“SLD”,25000)
データの更新
次は、既存のテーブルのデータ(レコード)を更新する事例です。
下記の「役職データテーブル」にあるSMG(シニアマネージャー)の役職手当は120,000円ですが、社内の人事制度改定によって、135,000円に昇給されたとします。
この場合、「役職データテーブル」のSMGの役職手当を更新する必要がありますが、下記のようなSQLコードをデータベースで実行することで、既存のレコードを更新することができます。
UPDATE [役職]
SET ”役職手当”=135000
WHERE “役職”=”SMG”
データの取り出し
最後に、既存のテーブルからデータ(レコード)を取り出す事例です。
実務上のデータの取り出しは、非常に多岐のパターンが存在しますので、この記事で紹介するようなシンプルなコードは使われませんが、イメージとしてご理解ください。
下記の「社員データテーブル」から、Sample1さん(社員番号1)の基本データを取り出したいとします。
この場合、下記のようなSQLコードをデータベースで実行することで、Sample1さんのデータを取り出すことができます。
社員名で取り出す
SELECT *
FROM (データセット名).”社員”
WHERE “社員名”=”Sample1”
社員番号で取り出す
SELECT *
FROM (データセット名).”社員”
WHERE “社員番号”= 1
あとがき
今回は、初心者でもわかりやすいようにSQLについて説明しましたが、いかがでしたか?
この記事をお読みになった方は、実務でSQLを使うことになった、またはSQLという言葉に関心を持った方かと思います。
どちらにせよ、SQLを学ぶことは極めて価値が高いことに違いはありません。コンピューターはプログラミングとデータベースによって発達した分野であり、『データの利活用』は今後のビジネスで欠かせない存在になるからです。
AIや機械学習、深層学習(ディープラーニング)の分野も大量のデータを取り扱う、いわばデータベースやSQLなしでは成り立たない分野なのです。
当サイトで発信しているSQL関連の情報は、いずれ独立した別のサイトに移行して、「データベース・SQL・データ分析」をより専門的に掘り下げて発信していく予定です。