1. HOME
  2. テックブログ
  3. エンジニアでなくても知っておきたい3つのSQL

エンジニアでなくても知っておきたい3つのSQL

こんにちは。マーケティングチーム所属の木谷です。

前回プログラマーの先輩に弟子入りしてからはや一年が経過しました。

弟子入り当初は「まあ、データの検索ができるようになればいいや、、、」と思っていましたが、今ではデータを検索するだけでなく、データの追加、更新、削除を行ったり、条件に沿った内容でデータを加工して抽出したりといろいろできるようになりました。

そこで今回はこの一年間で、エンジニアでなくとも知っておいた方がいい、特に実務に生かすことができているものを3点紹介します。

①データの追加・更新・削除

シンプルですが、これができることで案件のテストや不具合対応などの際に、開発者に頼らず対応できる幅が広がりました。(もちろん、間違った対応をしてはならないため、対応方法が適切であることが前提です)

それぞれ構文もシンプルなので、データの扱いに慣れ、監督してくださる方のお墨付きが得られればぜひ活用していくとよいかと思います。

実行する際に「begin;」をつけて実行するとトランザクションがかかり、「間違えてデータを消してしまった、、、!」などの事態を防げるので、不慣れなうちは確実に「begin;」を入れ、実行するようにしましょう。

■データの追加

insert into テーブル名 (カラム名1,カラム名2,~,カラム名X) values (カラム名1に追加したい値,カラム名2に追加したい値,~,~カラム名Xに追加したい値);

■データの更新

update テーブル名 set カラム名 = 入力したい値 where あれば条件;

■データの削除

delete from テーブル名 where 消したいデータの条件;

②複数テーブルからのデータ検索

続いて紹介するのはテーブルを結合しての検索です。

データによっては一つのテーブルにあるデータだけでなく、複数のテーブルのデータを組み合わせて抽出する必要があります。

Excelでも同じようなことはできますが、大量のデータを扱う場合、PCのスペックによってはExcelが落ちて仕事にならないことも多々あると思うので、SQLで処理できると業務がスムーズになるかと思います。

また、データを組み合わせて抽出する以外にもDB上はIDで様々なものが割り振られているため、別テーブルにあるマスタ情報と照らし合わせ、人が見やすいようにリネームする際にも有用です。

なお、テーブル結合する際には、on句以降でprimary keyを利用する必要があるため、自分が結合したいテーブルの構成を理解したうえで実行するといいと思います。

■テーブル結合を利用して、複数テーブルに関連するデータの抽出を行う

select 取得したいデータ from テーブル名A inner join テーブル名B on テーブル名A.カラム名 = テーブル名B.カラム名 ~ where あれば条件;

なお、テーブル結合については様々な種類があり場合に応じて使い分ける必要がありますが、今回は一番使われるであろう「inner join」のみ紹介しています。

③ファイル出力

ここまでデータの追加や更新、データの抽出などDB上での処理を紹介してきましたが、最後はそれらの情報をファイル出力する方法です。

自分が携わっている部分では、様々な人に案件で使用するデータの確認を依頼したり、依頼されてデータを抽出することがありますが、DBにあるだけでは大半の方には確認してもらえません。

そのため、DBにあるデータをファイル出力する必要があります。

また、人に見せる以外にも、データをまとめて更新したい場合には一度DB内にあるデータをファイル出力し、Excelに転記したうえでSQL文をまとめて作成する、といった使い方も可能です。

\o ファイル名.拡張子

(上記実行後に…)

ファイル出力したいSQL文を実行

実行した後に保存先となっているディレクトリを見に行くと出力されたファイルが保存されているはずです。

最後に

今回紹介した3点は内容的には初歩的なものですが、これさえ覚えておけば簡単なテストから不具合調査、データ抽出依頼まで対応できるため、業務の幅が広がります。

また、データの追加・更新・削除やテーブルの結合を円滑に行うにはDBにあるデータの理解が欠かせません。

データに触れ、少しでもどんなデータがあるかが理解できていると企画にも活きてくると思うので、ぜひ活用してみて頂ければと思います。

ファブリカコミュニケーションズで働いてみませんか?

あったらいいな、をカタチに。人々を幸せにする革新的なサービスを、私たちと一緒に創っていくメンバーを募集しています。

ファブリカコミュニケーションズの社員は「全員がクリエイター」。アイデアの発信に社歴や部署の垣根はありません。

“自分から発信できる人に、どんどんチャンスが与えられる“そんな環境で活躍してみませんか?ご興味のある方は、以下の採用ページをご覧ください。

◎ 新卒採用の方はこちら
◎ キャリア採用の方はこちら

この記事を書いた人

木谷 砂知
プロダクト開発本部 企画チーム
木谷 砂知

おすすめの記事