SQLを業務に活かす方法とは?具体例や考え方を徹底解説!


SQLって便利そうだけど、業務に活かせるのかな・・・?
業務に活かすための考え方や具体的な方法を知りたいな・・・

業務効率化は、永遠の悩みですよね。SQLで業務が効率化できるなら、具体的な方法が知りたい...と思っている方もいるのではないでしょうか。

ただ、SQLを調べても基礎概念や具体的な書き方ばかりで、いまいちイメージできない人も多いですよね。

こんにちは!フリーランスエンジニア兼テックライターのワキザカです。

この記事では、SQLを業務に活かした具体例・考え方について解説します!

SQLをこれから学び始める方向けの学習方法も解説しているので、ぜひ参考にしてみてくださいね。

この記事はこんな人のために書きました。

  • SQLを業務に活かすための方法を知りた人
  • SQLを使って業務効率を上げたい人

SQLは業務に活かせる?具体的な例を紹介!

SQLを業務に活かした具体例を解説するために、先にSQLのメリットについて解説しますね。SQLを使いこなすメリットは、以下の3つです。

SQLを使いこなすメリット

  • 計算が圧倒的に早い
  • 大量のデータでもデータ更新・削除・計算ができる
  • データベースのデータをExcelなどで表示できる

たとえば、経理の方だと月末・月初に作業が集中しますよね。複雑なデータ計算を、Excelでやっている人も多いのではないでしょうか。

これをSQLに書き換えると、次のようなことが実現できます。

Excelの作業をSQLに置き換えて実現できること

  • 複雑な計算処理をSQLで作っておくだけで、簡単に計算ができる
  • スケジュール設定したSQLを実行するだけで、夜間にデータ更新ができる
  • Excelで自分で毎回計算するのが不要になるので、業務が楽になる

上記は業務効率化を考えた流れですが、毎月やっている複雑な計算をSQLで代替えしておくだけで、業務が楽になります。このように、業務効率を上げて、工数を大幅に減らすことができます。

また、データベースの機能ではないですが、Excelにはデータベースのデータを表示する機能があります。MicrosoftのSQL Server以外は、ODBC接続(データベースと接続するための設定)が必要ですが、一度設定するだけで以降は設定が不要です。

普段使っているExcelはそのままに作業を楽にすることができるので、とても便利ですよね。

SQLの基礎についてもっと知りたい方は、以下がおすすめです。

SQLとは何か?今、学ぶべきメリットと学習方法を徹底解説!
更新日 : 2020年6月15日

SQLを業務に活かすための考え方とは?

SQLを業務に活かせるイメージができたら、具体的に業務効率化を考えていきましょう。

SQLを業務に活かす方法は、大きく分けて以下の2つです。

SQLを業務に活かす方法

  • 既にあるデータベースのデータを使う
  • 業務効率化用のデータベースを作る

それぞれ詳しく解説しますね。

SQLを業務に活かす方法1:既にあるデータベースのデータを使う

1つ目は、既にあるデータベースのデータを使う方法です。

社内で既にデータベースを使っているなら、そのデータを使うのも1つの手です。

システム開発部などに相談は必要になりますが、「もっとこんなデータが見れれば業務効率化に繋がるのに...」という視点で、まずは洗い出してみましょう。


業務効率化を考えてみよう

具体的なイメージができたら、システム開発部にデータの閲覧権限をもらえないかイメージをもとに相談してみましょう。仮に権限がもらえなくても、同じような見方ができるように準備してもらえる可能性もあります。

現場の声を開発部に伝えるチャンスにもなるので、とてもおすすめです。

SQLを業務に活かす方法2:業務効率化用のデータベースを用意する

2つ目は、業務効率化用のデータベースを自分で用意する方法です。

開発部に権限をもらえれば済むかもしれませんが、なかなかすぐに権限をもらえるとは限りません。そのため、自分のパソコンにデータベース環境を用意するのがおすすめです。

パソコンにインストールするだけで簡単に環境が作れるので、以下のMySQLのインストール方法を見ながらセットアップしましょう。

【初心者向け】MySQLのインストール方法について徹底解説!
更新日 : 2018年12月25日

環境ができたら、普段扱っているデータの構造のテーブルを作っておきましょう。事前に作っておくことで、データを登録しやすくなります。

たとえば、以下のように「請求データ一覧」を管理しているデータがあったとします。


請求データ一覧

これらのデータを入れるためのテーブルを作っておくことで、データを入れてからSQLでデータ分析がしやすくなります。具体的に言うと、以下のようなデータを簡単に確認できるようになります。

SQLでサクッと確認できる例

  • 支払期限が過ぎている請求データ一覧
  • 請求書出力が終わっていないデータ一覧
  • 請求書出力済データの請求額合計

Excelでも確認できますが、自分でフィルター操作をしてデータ確認が必要になりますよね。事前にSQLをつくっておけば、データを入れてからSQLを実行するだけで確認ができます。

圧倒的に手間が減る&大量なデータでも一瞬で終わるので、とてもおすすめです!

SQLをこれから学び始めるときは何をすればいい?

SQLを学ぶときのおすすめの流れは、以下のとおりです。

おすすめのSQLを学習する流れ

  • ステップ1:SQLを実行できる環境を作る
  • ステップ2:簡単なSQLを書けるようになる
  • ステップ3:応用的なSQLの書き方を覚える

それぞれ解説しますね。

SQLを実行できる環境を作る

まず、SQLを実行する環境を作りましょう。

先ほども紹介しましたが、MySQLのインストールがまだの方は以下を見ながらインストールしましょう!

【初心者向け】MySQLのインストール方法について徹底解説!
更新日 : 2018年12月25日

何らかの理由でパソコンにMySQLをインストールできない方は、WEBで実行できる環境を利用するのもおすすめです。paiza.ioを使えば、アカウント登録だけで使えるようになるので、おすすめです。

参考:paiza.io https://paiza.io/ja

環境が用意できたら、簡単なSQLを書く方法を学んでいきましょう。

簡単なSQLを書けるようになる

環境ができたら、「テーブル作成→レコード挿入→データ表示」の順番でSQLの書き方を学んでいきましょう。

具体的には、以下の流れでSQLを書いていきます。

簡単なSQLを書く流れ

  • CREATE文:テーブル作成
  • INSERT文:レコード挿入
  • SELECT文:レコード表示

それぞれ解説しますね。

CREATE文でテーブル作成

まず、CREATE文でテーブルを作成します。

今回は、以下のテスト結果一覧テーブルを作っていきましょう。


テスト結果一覧テーブルのイメージ

テスト結果一覧テーブルを作成するSQLは、以下のとおりです。

テスト結果一覧テーブルを作成するSQL:

-- CREATE文でtest_resultsテーブル作成
CREATE TABLE `test_results` (
    `id` INT(11),
    `subject` VARCHAR(50),
    `point` INT(11)
);

-- テーブルの定義を表示
DESC test_results;

実行結果:

| Field | Type | Null | Key | Default | Extra | 
| --- | --- | --- | --- | --- | --- | 
| id | int(11) | YES |  | \N |  | 
| subject | varchar(50) | YES |  | \N |  | 
| point | int(11) | YES |  | \N |  | 

INTやVARCHARは、定義した列の型を表しています。idの場合はINT型で数値を表しており、subjectはVARCHAR型で文字列を意味しています。

CREATE文の詳しい書き方や型の種類については、以下で詳しく解説しています。もっと知りたい方配下を見てみてくださいね!

【MySQL入門】CREATE TABLE文でテーブルを作成する方法
更新日 : 2019年6月18日

INSERT文でレコード挿入 + SELECT文でレコード検索

次に、INSERT文でレコード挿入する方法について解説します。

レコード挿入だけだと結果がわかりづらいので、SELECT文でデータ検索する方法とセットで解説しますね。具体的な書き方は、以下のとおりです。

INSERT文 + SELECT文で挿入したデータを表示するSQL:

-- INSERT文でレコードにデータ挿入
INSERT INTO test_results(id,subject,point) VALUES(1,'数学',6);
INSERT INTO test_results(id,subject,point) VALUES(2,'数学',9);
INSERT INTO test_results(id,subject,point) VALUES(3,'数学',6);
INSERT INTO test_results(id,subject,point) VALUES(4,'数学',4);
INSERT INTO test_results(id,subject,point) VALUES(5,'数学',0);

-- SELECT文でデータを全て表示
SELECT
  *
FROM
  test_results;

実行結果:

| id | subject | point | 
| ---: | --- | ---: | 
| 1 | 数学 | 6 | 
| 2 | 数学 | 9 | 
| 3 | 数学 | 6 | 
| 4 | 数学 | 4 | 
| 5 | 数学 | 0 | 

INSERT文で挿入したデータが、SELECT文を実行して表示されていますよね。このように、簡単にデータ挿入・確認ができます。

もっとINSERT文・SELECT文について深堀りしたいなら、以下を見るのがおすすめです。基礎的な情報だけでなく、応用テクニックについても徹底的にまとめています。


【MySQL入門】INSERT文を使いこなす!基本からSELECT句まで一挙紹介
更新日 : 2018年12月25日

応用的なSQLの書き方を覚える

基礎的なSQLの書き方がわかったら、応用的なSQLを覚えていきましょう。

ただ、応用的なSQLと言っても、何から始めればいいかわからない方もいるのではないでしょうか。SELECT文、INSERT文、UPDATE文などのデータ操作の種類によって相性の良い書き方も多いですし、迷う人も多いかもしれませんね。

おすすめは、SELECT文の応用から始めることです。

SELECT文はデータを検索して表示するだけなので、間違ってデータを書き換えてしまう...という心配がないからです。SELECT文で学んだ条件式はデータ更新でも同じように使えるので、「条件で絞ってデータを表示する方法」をまずは覚えていきましょう。

「具体的にどんなSQLを覚えればいいの?」と思った方向けに、SELECT文でよく使う書き方を以下で解説しています。図でイメージを共有してからSQLの書き方を解説しているので、これから学ぶ方にもおすすめです!

SQLのコマンド一覧を覚える方法とは?わかりやすい順で徹底解説!
更新日 : 2019年7月30日

まとめ

今回は、SQLを業務に活かせる具体例・考え方について解説しました。

業務に活かせるイメージが湧いたら、SQLをまずは書いていきましょう。

慣れてきたら、業務に活かすためのSELECT文の書き方を考えてみて、実際に作ってみるのがおすすめです。ぜひ、SQLを書いて動かしてみてくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。
Webアプリ、業務アプリ開発において、要件定義、設計、インフラ、製造、テスト、運用保守など、様々な経験あり。
また、侍ブログ編集部として、これまでに200記事以上の記事を執筆。
現在はフリーランスエンジニア兼テックライターとして活動中。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習やキャリアのお悩み、お気軽にご相談ください。