SlideShare une entreprise Scribd logo
1  sur  68
Télécharger pour lire hors ligne
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
⾃自⼰己紹介
2
荒⾦金金  万琴(あらがね  まこと)
n  福岡県出⾝身
→京都に4年年間
→東京で働いて5年年⽬目
n  前職:ソフトウェアメーカーにて
      マーケティングを担当(4年年間)
•  ⾃自社製品サイト、カタログ等の制作
•  イベントの主催、出展
•  リリースの進⾏行行管理理  などなど
n  2015年年4⽉月  株式会社ビズリーチに⼊入社
                                データ分析を担当
•  ⾃自社サービス(ビズリーチ:会員制転職
サイト)の会員属性の調査
•  会員向け施策、広告等の効果検証  などなど
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
⾃自⼰己紹介
3
みなさんと同じく
Webディレクション・
マーケティング
を担当していました!
荒⾦金金  万琴(あらがね  まこと)
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日のアジェンダ
n  データベースとは?SQLとは?(5分)
n  ハンズオン(40分)
•  データを抽出してみよう
•  条件を指定してみよう
•  複数のテーブルからデータを抽出しよう
n  分析基盤について  ―ビズリーチの事例例紹介(3分)
n  まとめ&アンケート(5分)
4
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日の⽬目標
n  ⾃自分で⼿手を動かして、SQLを書く!
n  基本的な⽂文法が、なんとなくわかるようになる
n  もっとデータを⾒見見てみたい、SQLを勉強してみたい  と
思う(と嬉しいです)
5
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日のアジェンダ
n  データベースとは?SQLとは?(5分)
n  ハンズオン(40分)
•  データを抽出してみよう
•  条件を指定してみよう
•  複数のテーブルからデータを抽出しよう
n  分析基盤について  ―ビズリーチの事例例紹介(3分)
n  まとめ&アンケート(5分)
6
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
まずは
データベース  ってなに?
7
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データベースとは
n  辞書をひくと
「コンピューターで、関連し合うデータを収集・整理理し
て、検索索や更更新を効率率率化したファイル。DB。」
n  ⼀一⾔言でいうと?
8
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データベースとは
n  辞書をひくと
「コンピューターで、関連し合うデータを収集・整理理し
て、検索索や更更新を効率率率化したファイル。DB。」
n  ⼀一⾔言でいうと?
9
新しくデータを
追加します
○○という条件
に合うデータを
抽出します
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データベースとは
n  箱の中のデータはどんな形?
例例えば、社員名簿の場合
→  ⼆二次元の表(Excelと同じ)
    これをテーブルと呼ぶ
10
社員ID ⽒氏名 ふりがな ⽣生年年⽉月⽇日
123 佐藤  ⼀一郎郎 さとう  いちろう 1988-‐‑‒07-‐‑‒07
124 鈴鈴⽊木  健太 すずき  けんた 1979-‐‑‒10-‐‑‒23
125 ⽥田中  涼⼦子 たなか  りょうこ 1991-‐‑‒03-‐‑‒30
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
社員ID ⽒氏名 ふりがな ⽣生年年⽉月⽇日
123 佐藤  ⼀一郎郎 さとう  いちろう 1988-‐‑‒07-‐‑‒07
124 鈴鈴⽊木  健太 すずき  けんた 1979-‐‑‒10-‐‑‒23
125 ⽥田中  涼⼦子 たなか  りょうこ 1991-‐‑‒03-‐‑‒30
データベースとは
n  箱の中のデータはどんな形?
例例えば、社員名簿の場合
11
⾏行行(レコード):
1⾏行行がひとまとまりのデータ
(今回は1⼈人の社員)
列列(カラム):
1列列がひとつの項⽬目
データ型(形式)が決まっている
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
次は
じゃあ  SQL  ってなに?
12
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
SQLとは
n  データベースを操作するための⾔言語
•  データを新規登録する
•  更更新する
•  検索索・抽出する
•  削除する
13
新しくデータを
追加します
○○という条件
に合うデータを
抽出します
SQLを書いて命令令
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
SQLとは
n  この勉強会では、Oracle  Database  というデータベー
スを操作するSQL(Oracle  SQL)を使います。
ほかにも  MySQL,  PostgresSQL  などの種類があります
が、だいたい書き⽅方は同じです。
(⽅方⾔言みたいな感じで、少し違うところはあります)
14
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
で、  SQL  書けたらいいことあるの?
エンジニアが書ければいいんじゃない?
15
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
SQLが書けるメリット
n  Google  Analytics  等である程度度サービスの状況はわかる。
が、社内のデータベースにしか⼊入っていないデータも
•  売上情報、会員の属性情報、アクセスログ  etc...
n  そんなデータを、⾒見見たいときにすぐ⾒見見られる
•  依頼すると多少なりともタイムラグが発⽣生
•  エンジニアの⼿手が回らないときも
n  データが⾒見見られれば、打ち⼿手をすぐ考えられる
•  データをもとに仮説を⽴立立ててUIを変えてみる
•  施策をやったあとに効果検証をする
•  つまりPDCA!!
•  モニタリングしていれば、異異常値の検知・対策も可能
16
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
あるディレクターさんの記事
n  ディレクターがSQLを学んでよかったこと
http://blog.nanapi.co.jp/tech/2014/08/15/
director-‐‑‒skill-‐‑‒sql/
•  「社内管理理画⾯面上では⾒見見ることのできないユーザーデータと
サービスデータを合わせて、成⻑⾧長サイクルのための分析をして
みたかった」
•  「これまではエンジニアさんを通してしかできなかったデータ
抽出が誰でもできるようになったことで、PDCAサイクルにス
ピードが⽣生まれます」
•  「エンジニアさんとのデータ項⽬目に関する齟齬をなくし仕様変
更更を防ぐという意味でもデータに関する共通認識識を持っておく
のは必要なことかと思います」
17
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日のアジェンダ
n  データベースとは?SQLとは?(5分)
n  ハンズオン(40分)
•  データを抽出してみよう
•  条件を指定してみよう
•  複数のテーブルからデータを抽出しよう
n  分析基盤について  ―ビズリーチの事例例紹介(3分)
n  まとめ&アンケート(5分)
18
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
実⾏行行環境を開く
n  事前のお知らせの通り、設定いただいた
https://apex.oracle.com/pls/apex/  にアクセスし、「SQL
ワークショップ」>「SQL  Commands」を選んでください。
※環境設定をしていない・Wi-‐‑‒Fiに接続できない場合は
  メモ帳やテキストエディタでよいので、SQLを書いて
  みてください。
※資料料(SQL⽂文含む)は後⽇日公開するので、復復習に
  お使いください。メモが間に合わなくても⼤大丈夫です。
19
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
実⾏行行環境を開く
n  この画⾯面でSQLを⼊入⼒力力し、「Run」ボタンで実⾏行行します。
n  同じようなSQLを何度度も使うので、⼀一度度メモ帳やエディ
タに書き、それを↓にコピーするのがおすすめです。
20
この欄に⼊入⼒力力
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
ハンズオン
n  データを抽出してみよう
n  条件を指定してみよう
n  複数のテーブルからデータを抽出しよう
21
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データを抽出してみよう
n  データを抽出するときは必ず使う
いちばん基本的な⽂文です!
22
select  列列名  from  テーブル名
どの列列(項⽬目)を
抽出するか
どのテーブル(表)から
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データを抽出してみよう
n  社員情報が⼊入っている「emp」というテーブル(表)
とりあえず全ての列列を出して⾒見見てみる!
n  「全て」=「*」
n  select  *  from  emp;
※実務では、テーブルごとに何の項⽬目(列列)が⼊入っているかはあらかじめ
  わかっていて(別途表にまとまっていたりします)、⽬目的のテーブルに
  対してSQLを書いてデータを出す、という流流れが⼀一般的です。
23
すべての列列
を抽出
empテーブル
から
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データを抽出してみよう
24
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データを抽出してみよう
n  名前(ename)と役職(job)だけ知りたい?
→select  のあとに  抽出したい列列名を⼊入⼒力力
n  select
  ename
  ,job  
from
  emp
;
25
select
  ename,
  job
だと  1⾏行行⽬目の,と2⾏行行⽬目のjobを削除す
る必要があるのでミスが起きやすい
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  emp  テーブルから
名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno)
を抽出してください。(2分)
26
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  emp  テーブルから
名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno)
を抽出してください。(2分)
n  select
  ename
  ,hiredate
  ,deptno
from
  emp
;
27
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
データを抽出してみよう
⼩小技!抽出したデータを順番に並べることも可能
n  最後に  order  by  (列列名)をつける  →昇順に並べる
order  by  (列列名)  desc  までつけると降降順
n  select
  ename
  ,hiredate
  ,deptno
from
  emp
order  by
  hiredate  desc
;
28
抽出されるデータは同じだが
⼊入社⽇日の降降順(遅い順)に並ぶ
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
ハンズオン
n  データを抽出してみよう
n  条件を指定してみよう
n  複数のテーブルからデータを抽出しよう
29
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  条件は「where」のあとに書く
30
select  列列名  from  テーブル名  
where  条件
  
どの列列(項⽬目)を
抽出するか
どのテーブル(表)から
どんな条件のデータを
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  抽出する列列:
名前(ename)・⼊入社⽇日(hiredate)・部⾨門番号(deptno)
select
  ename
  ,hiredate
  ,deptno
from
  emp
;
n  条件:部⾨門番号が10のデータ
31
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  条件:部⾨門番号が10のデータ
select
  ename
  ,hiredate
  ,deptno
from
  emp
where
  deptno  =  10
;
32
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  条件に、⽂文字や⽇日付を指定するときは  '  '  で囲むこと!
n  条件:名前  が  KING  のデータ
select
  ename
  ,hiredate
  ,deptno
from
  emp
where
  ename  =  'KING'
;
33
where
  ename  =  KING
とすると、エラーになってしまう
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  数値や⽇日付であれば、  =  以外にも
不不等号(>=,  <=,  >,  <)を条件に使える  
n  条件:給与  が  3000以上  のデータ
select
  ename
  ,hiredate
  ,sal
from
  emp
where
  sal  >=  3000
;
34
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  数値や⽇日付であれば、  =  以外にも
不不等号(>=,  <=,  >,  <)を条件に使える  
n  条件:⼊入社⽇日  が  1981年年1⽉月1⽇日以降降  のデータ
select
  ename
  ,hiredate
  ,sal
from
  emp
where
  hiredate  >=  '01-‐‑‒01-‐‑‒1981'
;
35
⽇日付は  '  '  で囲むのを忘れない!
不不等号を⽇日付に使う場合は  
>=(以降降)  <=(以前)
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  emp  テーブルから、以下の条件のデータを抽出してく
ださい。
抽出する列列:
  名前(ename)  ⼊入社⽇日(hiredate)  給与(sal)
条件:
  給与が  2000以下
36
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  emp  テーブルから、以下の条件のデータを抽出してください。
抽出する列列:
  名前(ename)  ⼊入社⽇日(hiredate)  給与(sal)
条件:
  給与が  2000以下
n  select
  ename
  ,hiredate
  ,sal
from
  emp
where
  sal  <=  2000
;
37
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  and  や  or  を使えば、複数の条件を満たすデータを抽出できる!
n  条件:部⾨門番号が10  もしくは  部⾨門番号が20
select
  ename
  ,hiredate
  ,deptno
from
  emp
where
  deptno  =  10
  or  deptno  =  20
;
38
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
条件を指定してみよう
n  and  や  or  を使えば、複数の条件を満たすデータを抽出できる!
n  条件:部⾨門番号が10  かつ  ⼊入社⽇日が1981年年10⽉月1⽇日以降降
select
  ename
  ,hiredate
  ,deptno
from
  emp
where
  deptno  =  10
  and  hiredate  >=  '10-‐‑‒01-‐‑‒1981'
;
39
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
ハンズオン
n  データを抽出してみよう
n  条件を指定してみよう
n  複数のテーブルからデータを抽出しよう
40
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
「複数のテーブルから」ってどういうこと?
41
社員ID ⽒氏名 部⾨門番号
123 佐藤  ⼀一郎郎 10
124 鈴鈴⽊木  健太 20
125 ⽥田中  涼⼦子 20
部⾨門番号 部⾨門名
10 営業部
20 開発部
30 ⼈人事部
社員ID ⽒氏名 部⾨門番号 部⾨門名
123 佐藤  ⼀一郎郎 10 営業部
124 鈴鈴⽊木  健太 20 開発部
125 ⽥田中  涼⼦子 20 開発部
共通の列列をキーにして、複数のテーブルをくっつける(結合)
社員名簿には
部⾨門名はない
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
どうしてそんなことするの?
n  データベース内のデータは、先ほどのスライドと同様
重複のないよう分割されている場合が多い(正規化)
•  重複した情報が多いと、データ量量が不不必要に⼤大きくなる
•  もし正規化されていないデータベースで
「開発部」→「商品開発部」と変更更があったら
開発部の社員全部のデータを書き換えなければいけない…
※もっと知りたい⽅方は  参考⽂文献:
http://itpro.nikkeibp.co.jp/article/COLUMN/20130416/471174/?
ST=develop
42
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
共通の列列をキーにして、複数のテーブルをくっつける(結合)
n  「結合」にも種類があるが、今回紹介するのは「内部結合」
•  テーブルAとテーブルBの共通の列列をキーにする
•  テーブルAとテーブルBの
どちらにも存在するデータのみ
取得して新しい表をつくる
43
ここだけ!
テーブル
A
テーブル
B
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
n  内部結合
44
select  列列名  from  テーブル名A  
inner  join  テーブル名B
on  A.列列名  =  B.列列名
  
どのテーブル(表)と結合するか
テーブルAとBの、共通のキーは何か
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
n  emp  テーブルと  dept  テーブル(部⾨門)を内部結合
共通のキー:deptno(部⾨門番号)
n  抽出する列列:すべて
n  select  *
from
  emp
inner  join
  dept
on
  emp.deptno  =  dept.deptno
;
45
emp  テーブルと
dept  テーブルを内部結合(inner  join)
共通のキーは  deptno
※列列名の前にテーブル名を書く!
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
46
共通のキーは  deptno
emp  テーブル dept  テーブル
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
n  emp  テーブルと  dept  テーブル(部⾨門)を内部結合
共通のキー:deptno(部⾨門番号)
n  抽出する列列:ename(名前)  deptno(部⾨門番号)  dname(部⾨門名)  
n  select  
  emp.ename
  ,emp.deptno
  ,dept.dname
from
  emp
inner  join
  dept
on
  emp.deptno  =  dept.deptno
;
47
抽出する列列名の前にも
テーブル名を書く!
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
48
emp  テーブル dept  テーブル
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  emp  テーブルと  dept  テーブルを
deptno  列列をキーに内部結合させて、
以下の条件のデータを抽出してください。
抽出する列列:
  emp  テーブルから  
    名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno)  
  dept  テーブルから
    部⾨門名(dname)  部⾨門のある地名(loc)
49
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  select
  emp.ename
  ,emp.hiredate
  ,emp.deptno
  ,dept.dname
  ,dept.loc
from
  emp
inner  join
  dept
on
  emp.deptno  =  dept.deptno
;
50
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
51
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
演習問題
n  select
  e.ename
  ,e.hiredate
  ,e.deptno
  ,d.dname
  ,d.loc
from
  emp  e
inner  join
  dept  d
on
  e.deptno  =  d.deptno
;
52
from,  inner  join  のテーブル名の後に
別名を命名できる!
e,  d  など短縮した別名をつければ、この
select⽂文の全部で使える
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
合わせ技!結合させたテーブルに対して、条件指定が可能
n  emp  テーブルと  dept  テーブル(部⾨門)を内部結合
共通のキー:deptno(部⾨門番号)
n  抽出する列列:
  emp  テーブルから  
    名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno)  
  dept  テーブルから
    部⾨門名(dname)  部⾨門のある地名(loc)
n  条件:部⾨門番号が20の社員
53
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
複数のテーブルからデータを抽出しよう
n  select
  emp.ename
  ,emp.hiredate
  ,emp.deptno
  ,dept.dname
  ,dept.loc
from
  emp  
inner  join
  dept  
on
  emp.deptno  =  dept.deptno
where
  emp.deptno  =  20
;
54
条件が複数ある場合は
and,  or  も使える
Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 55
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日のアジェンダ
n  データベースとは?SQLとは?(5分)
n  ハンズオン(40分)
•  データを抽出してみよう
•  条件を指定してみよう
•  複数のテーブルからデータを抽出しよう
n  分析基盤について  ―ビズリーチの事例例紹介(3分)
n  まとめ&アンケート(5分)
56
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
ビズリーチ社内の分析基盤
n  個⼈人情報保護・レスポンス向上のため
サービスのDBから、分析に必要なデータのみ
取り出したものを  Amazon  Redshift  で構築
57
リモートで操作
アクセス制限をAWSと調整
Amazon  
Redshift  
BizReach
Datamart
BizReach
Database
エンジニア
個⼈人情報等を除き
夜間バッチ
個⼈人情報
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
ビズリーチ社内の分析基盤
n  スポットで⾒見見たいデータは、
データマートからSQLで抽出して出⼒力力
n  BIツール「Tableau」で集計・グラフ化することも
58
CSV  /  
Excel
集計
報告
SQL
●●●●?
BizReach
Datamart
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
ビズリーチ社内の分析基盤
n  常にモニタリングすべきデータは、
データマート(Redshift)とTableauをライブ接続
n  Tableau上でリアルタイムに状況を確認できる
n  特に重要な指標は、毎朝メールが⾶飛ぶようプログラム化
59
Tableau
集計・
グラフ化
BizReach
Datamart
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
当社のケースが記事化されました
60
https://seleck.cc/article/8
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日のアジェンダ
n  データベースとは?SQLとは?(5分)
n  ハンズオン(40分)
•  データを抽出してみよう
•  条件を指定してみよう
•  複数のテーブルからデータを抽出しよう
n  分析基盤について  ―ビズリーチの事例例紹介(3分)
n  まとめ&アンケート(5分)
61
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
まとめ
62
select  列列名  from  テーブル名
どの列列(項⽬目)を
抽出するか
どのテーブル(表)から
select  列列名  from  テーブル名  
where  条件
  
どの列列(項⽬目)を
抽出するか
どのテーブル(表)から
どんな条件のデータを
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
まとめ
63
select  列列名  from  テーブル名A  
inner  join  テーブル名B
on  A.列列名  =  B.列列名
  
どのテーブル(表)と結合するか
テーブルAとBの、共通のキーは何か
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
もっとSQLを勉強したい⽅方へ
n  今⽇日使った環境で練習したい
•  Webブラウザで学ぶ実践SQL講座
http://www.atmarkit.co.jp/ait/kw/jissen_̲sql_̲kouza.html
•  今⽇日の勉強会は、このページをベースにしています
n  本を読んで体系的に勉強したい
•  書き込み式SQLのドリル
http://goo.gl/97wtAM
•  基本的な⽂文法を網羅羅できます
•  環境構築の⽅方法・サンプルデータもついていて便便利利
n  あくまでも個⼈人の意⾒見見なので、周りの⼈人のおすすめも聞いて
みてください。
64
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
さいごに
connpassグループ
「OWL.learn」
BIツール「Tableau」、R、数学など
データサイエンスにまつわる勉強会を実施
ぜひグループのメンバーに!
65
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
さいごに
ビズリーチで⼀一緒に働いていただける
仲間を募集中です!
66
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
今⽇日の⽬目標
n  ⾃自分で⼿手を動かして、SQLを書く!
n  基本的な⽂文法が、なんとなくわかるようになる
n  もっとデータを⾒見見てみたい、SQLを勉強してみたい  と
思う(と嬉しいです)
67
Copyright  ©  BizReach,  Inc.  All  Right  Reserved.
さいごに
ご清聴ありがとう
ございました!
68

Contenu connexe

Tendances

統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方
Ak Ok
 

Tendances (20)

Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
 
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
[data analytics showcase] A12: データに隠された課題、ちゃんと見えていますか? by Tableau Japan 株式会社 ...
 
国内最大級のお笑いWebサービス「ボケて」におけるTableau活用事例
国内最大級のお笑いWebサービス「ボケて」におけるTableau活用事例国内最大級のお笑いWebサービス「ボケて」におけるTableau活用事例
国内最大級のお笑いWebサービス「ボケて」におけるTableau活用事例
 
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
 
【istyle Data Talk #01】失敗から学ぶ!@cosmeを変えるデータ基盤のめざしどころ
【istyle Data Talk #01】失敗から学ぶ!@cosmeを変えるデータ基盤のめざしどころ【istyle Data Talk #01】失敗から学ぶ!@cosmeを変えるデータ基盤のめざしどころ
【istyle Data Talk #01】失敗から学ぶ!@cosmeを変えるデータ基盤のめざしどころ
 
ビッグデータとデータマート
ビッグデータとデータマートビッグデータとデータマート
ビッグデータとデータマート
 
Tokyo r45 beginner_2
Tokyo r45 beginner_2Tokyo r45 beginner_2
Tokyo r45 beginner_2
 
Redash・SQL勉強会 ~目指せクエリ女子~
Redash・SQL勉強会 ~目指せクエリ女子~ Redash・SQL勉強会 ~目指せクエリ女子~
Redash・SQL勉強会 ~目指せクエリ女子~
 
Tableau Serverを利用した組織レベルでのデータ分析
Tableau Serverを利用した組織レベルでのデータ分析 Tableau Serverを利用した組織レベルでのデータ分析
Tableau Serverを利用した組織レベルでのデータ分析
 
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
 
dplyrとは何だったのか
dplyrとは何だったのかdplyrとは何だったのか
dplyrとは何だったのか
 
統計用言語Rの使い方
統計用言語Rの使い方統計用言語Rの使い方
統計用言語Rの使い方
 
データサイエンス勉強会(SQL)
データサイエンス勉強会(SQL)データサイエンス勉強会(SQL)
データサイエンス勉強会(SQL)
 
Tableau Japan セミナー用資料
Tableau Japan セミナー用資料Tableau Japan セミナー用資料
Tableau Japan セミナー用資料
 
Tableau活用4年の軌跡
Tableau活用4年の軌跡Tableau活用4年の軌跡
Tableau活用4年の軌跡
 
FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介FluentdやNorikraを使った データ集約基盤への取り組み紹介
FluentdやNorikraを使った データ集約基盤への取り組み紹介
 
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
クラウド時代の経営スタイルを変革する TableauセルフサービスBIの本質的価値
 
データサイエンティストの今
データサイエンティストの今データサイエンティストの今
データサイエンティストの今
 
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
数理モデリングからはじめるPython数理最適化 PyData.Tokyo 2017/6/28 Retty Inc. Iwanaga Jiro
 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 

En vedette

形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換
Tsukasa Fukunaga
 
生物情報実験法(画像情報処理入門)
生物情報実験法(画像情報処理入門)生物情報実験法(画像情報処理入門)
生物情報実験法(画像情報処理入門)
Tsukasa Fukunaga
 
全てをRでやらないと言う事
全てをRでやらないと言う事全てをRでやらないと言う事
全てをRでやらないと言う事
Tsukasa Fukunaga
 
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
naoki ando
 

En vedette (20)

営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
 
機械学習を理解するための数学テクニック勉強会 Lagrange 未定乗数法
機械学習を理解するための数学テクニック勉強会 Lagrange 未定乗数法機械学習を理解するための数学テクニック勉強会 Lagrange 未定乗数法
機械学習を理解するための数学テクニック勉強会 Lagrange 未定乗数法
 
初心者のためのTableau0→1
初心者のためのTableau0→1初心者のためのTableau0→1
初心者のためのTableau0→1
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
プロダクトとマネジメント〜自分事としてのプロダクトマネジメント
プロダクトとマネジメント〜自分事としてのプロダクトマネジメントプロダクトとマネジメント〜自分事としてのプロダクトマネジメント
プロダクトとマネジメント〜自分事としてのプロダクトマネジメント
 
Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)Web勉強会(HTML+CSS+JS入門の入門)
Web勉強会(HTML+CSS+JS入門の入門)
 
開発モデルの作り方(守破離の破)
開発モデルの作り方(守破離の破)開発モデルの作り方(守破離の破)
開発モデルの作り方(守破離の破)
 
Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)Rの導入とRStudio事始め(改訂版)
Rの導入とRStudio事始め(改訂版)
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)データベース04 - SQL(SELECT:基本)
データベース04 - SQL(SELECT:基本)
 
データベース02 - SQL概要
データベース02 - SQL概要データベース02 - SQL概要
データベース02 - SQL概要
 
形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換形状解析のための楕円フーリエ変換
形状解析のための楕円フーリエ変換
 
生物情報実験法(画像情報処理入門)
生物情報実験法(画像情報処理入門)生物情報実験法(画像情報処理入門)
生物情報実験法(画像情報処理入門)
 
全てをRでやらないと言う事
全てをRでやらないと言う事全てをRでやらないと言う事
全てをRでやらないと言う事
 
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
 
ディレクターだらけのLT大会「平成仮面ライダーシリーズから考える理想のwebディレクターとは?個人的ランキングベスト3」
ディレクターだらけのLT大会「平成仮面ライダーシリーズから考える理想のwebディレクターとは?個人的ランキングベスト3」ディレクターだらけのLT大会「平成仮面ライダーシリーズから考える理想のwebディレクターとは?個人的ランキングベスト3」
ディレクターだらけのLT大会「平成仮面ライダーシリーズから考える理想のwebディレクターとは?個人的ランキングベスト3」
 
イケてるビジネスパーソンは iPad でスケジュールを管理する
イケてるビジネスパーソンは iPad でスケジュールを管理するイケてるビジネスパーソンは iPad でスケジュールを管理する
イケてるビジネスパーソンは iPad でスケジュールを管理する
 
WordCampKobe2013 Example employment WordPress site for Director megane
WordCampKobe2013 Example employment WordPress site for Director meganeWordCampKobe2013 Example employment WordPress site for Director megane
WordCampKobe2013 Example employment WordPress site for Director megane
 
「地方Webディレクターを救った、なーんか抽象的な話。」ミズノケイスケLT@WCAN2013Winter
「地方Webディレクターを救った、なーんか抽象的な話。」ミズノケイスケLT@WCAN2013Winter「地方Webディレクターを救った、なーんか抽象的な話。」ミズノケイスケLT@WCAN2013Winter
「地方Webディレクターを救った、なーんか抽象的な話。」ミズノケイスケLT@WCAN2013Winter
 
Movable TypeとSKELETON CARTで始める、ブログ・オン・“EC”マーケティング
Movable TypeとSKELETON CARTで始める、ブログ・オン・“EC”マーケティングMovable TypeとSKELETON CARTで始める、ブログ・オン・“EC”マーケティング
Movable TypeとSKELETON CARTで始める、ブログ・オン・“EC”マーケティング
 

Similaire à Webディレクター・マーケターのためのSQL教室 2015/07/13

GrowthForecastことはじめ
GrowthForecastことはじめGrowthForecastことはじめ
GrowthForecastことはじめ
Makoto Taniwaki
 

Similaire à Webディレクター・マーケターのためのSQL教室 2015/07/13 (20)

Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
BPStudy#101発表資料
BPStudy#101発表資料BPStudy#101発表資料
BPStudy#101発表資料
 
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
 
a-blog cms 事例紹介(TalkNote Vol.1)
a-blog cms 事例紹介(TalkNote Vol.1)a-blog cms 事例紹介(TalkNote Vol.1)
a-blog cms 事例紹介(TalkNote Vol.1)
 
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかDeveloper's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
 
オークションApi×就活swotプレゼン
オークションApi×就活swotプレゼンオークションApi×就活swotプレゼン
オークションApi×就活swotプレゼン
 
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
 
IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門IT技術者でも1から学べるビジネスモデルキャンバス入門
IT技術者でも1から学べるビジネスモデルキャンバス入門
 
IBM XCITE Spring 2015 - XPages application success story and IBM Bluemix
IBM XCITE Spring 2015 - XPages application success story and IBM BluemixIBM XCITE Spring 2015 - XPages application success story and IBM Bluemix
IBM XCITE Spring 2015 - XPages application success story and IBM Bluemix
 
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
 
20170428_【事前課題あり】ORACLE MASTER Bronze Oracle Database 12c 「12c SQL基礎[12c SQL]...
20170428_【事前課題あり】ORACLE MASTER Bronze Oracle Database 12c 「12c SQL基礎[12c SQL]...20170428_【事前課題あり】ORACLE MASTER Bronze Oracle Database 12c 「12c SQL基礎[12c SQL]...
20170428_【事前課題あり】ORACLE MASTER Bronze Oracle Database 12c 「12c SQL基礎[12c SQL]...
 
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
 
20120126 mnlgy 1
20120126 mnlgy 120120126 mnlgy 1
20120126 mnlgy 1
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
 
Zマイスターとの新たな価値探求 Tivoli
Zマイスターとの新たな価値探求 TivoliZマイスターとの新たな価値探求 Tivoli
Zマイスターとの新たな価値探求 Tivoli
 
【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!
 
GrowthForecastことはじめ
GrowthForecastことはじめGrowthForecastことはじめ
GrowthForecastことはじめ
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 

Webディレクター・マーケターのためのSQL教室 2015/07/13

  • 1.
  • 2. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ⾃自⼰己紹介 2 荒⾦金金  万琴(あらがね  まこと) n  福岡県出⾝身 →京都に4年年間 →東京で働いて5年年⽬目 n  前職:ソフトウェアメーカーにて       マーケティングを担当(4年年間) •  ⾃自社製品サイト、カタログ等の制作 •  イベントの主催、出展 •  リリースの進⾏行行管理理  などなど n  2015年年4⽉月  株式会社ビズリーチに⼊入社                                データ分析を担当 •  ⾃自社サービス(ビズリーチ:会員制転職 サイト)の会員属性の調査 •  会員向け施策、広告等の効果検証  などなど
  • 3. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ⾃自⼰己紹介 3 みなさんと同じく Webディレクション・ マーケティング を担当していました! 荒⾦金金  万琴(あらがね  まこと)
  • 4. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日のアジェンダ n  データベースとは?SQLとは?(5分) n  ハンズオン(40分) •  データを抽出してみよう •  条件を指定してみよう •  複数のテーブルからデータを抽出しよう n  分析基盤について  ―ビズリーチの事例例紹介(3分) n  まとめ&アンケート(5分) 4
  • 5. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日の⽬目標 n  ⾃自分で⼿手を動かして、SQLを書く! n  基本的な⽂文法が、なんとなくわかるようになる n  もっとデータを⾒見見てみたい、SQLを勉強してみたい  と 思う(と嬉しいです) 5
  • 6. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日のアジェンダ n  データベースとは?SQLとは?(5分) n  ハンズオン(40分) •  データを抽出してみよう •  条件を指定してみよう •  複数のテーブルからデータを抽出しよう n  分析基盤について  ―ビズリーチの事例例紹介(3分) n  まとめ&アンケート(5分) 6
  • 7. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. まずは データベース  ってなに? 7
  • 8. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データベースとは n  辞書をひくと 「コンピューターで、関連し合うデータを収集・整理理し て、検索索や更更新を効率率率化したファイル。DB。」 n  ⼀一⾔言でいうと? 8
  • 9. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データベースとは n  辞書をひくと 「コンピューターで、関連し合うデータを収集・整理理し て、検索索や更更新を効率率率化したファイル。DB。」 n  ⼀一⾔言でいうと? 9 新しくデータを 追加します ○○という条件 に合うデータを 抽出します
  • 10. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データベースとは n  箱の中のデータはどんな形? 例例えば、社員名簿の場合 →  ⼆二次元の表(Excelと同じ)     これをテーブルと呼ぶ 10 社員ID ⽒氏名 ふりがな ⽣生年年⽉月⽇日 123 佐藤  ⼀一郎郎 さとう  いちろう 1988-‐‑‒07-‐‑‒07 124 鈴鈴⽊木  健太 すずき  けんた 1979-‐‑‒10-‐‑‒23 125 ⽥田中  涼⼦子 たなか  りょうこ 1991-‐‑‒03-‐‑‒30
  • 11. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 社員ID ⽒氏名 ふりがな ⽣生年年⽉月⽇日 123 佐藤  ⼀一郎郎 さとう  いちろう 1988-‐‑‒07-‐‑‒07 124 鈴鈴⽊木  健太 すずき  けんた 1979-‐‑‒10-‐‑‒23 125 ⽥田中  涼⼦子 たなか  りょうこ 1991-‐‑‒03-‐‑‒30 データベースとは n  箱の中のデータはどんな形? 例例えば、社員名簿の場合 11 ⾏行行(レコード): 1⾏行行がひとまとまりのデータ (今回は1⼈人の社員) 列列(カラム): 1列列がひとつの項⽬目 データ型(形式)が決まっている
  • 12. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 次は じゃあ  SQL  ってなに? 12
  • 13. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. SQLとは n  データベースを操作するための⾔言語 •  データを新規登録する •  更更新する •  検索索・抽出する •  削除する 13 新しくデータを 追加します ○○という条件 に合うデータを 抽出します SQLを書いて命令令
  • 14. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. SQLとは n  この勉強会では、Oracle  Database  というデータベー スを操作するSQL(Oracle  SQL)を使います。 ほかにも  MySQL,  PostgresSQL  などの種類があります が、だいたい書き⽅方は同じです。 (⽅方⾔言みたいな感じで、少し違うところはあります) 14
  • 15. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. で、  SQL  書けたらいいことあるの? エンジニアが書ければいいんじゃない? 15
  • 16. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. SQLが書けるメリット n  Google  Analytics  等である程度度サービスの状況はわかる。 が、社内のデータベースにしか⼊入っていないデータも •  売上情報、会員の属性情報、アクセスログ  etc... n  そんなデータを、⾒見見たいときにすぐ⾒見見られる •  依頼すると多少なりともタイムラグが発⽣生 •  エンジニアの⼿手が回らないときも n  データが⾒見見られれば、打ち⼿手をすぐ考えられる •  データをもとに仮説を⽴立立ててUIを変えてみる •  施策をやったあとに効果検証をする •  つまりPDCA!! •  モニタリングしていれば、異異常値の検知・対策も可能 16
  • 17. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. あるディレクターさんの記事 n  ディレクターがSQLを学んでよかったこと http://blog.nanapi.co.jp/tech/2014/08/15/ director-‐‑‒skill-‐‑‒sql/ •  「社内管理理画⾯面上では⾒見見ることのできないユーザーデータと サービスデータを合わせて、成⻑⾧長サイクルのための分析をして みたかった」 •  「これまではエンジニアさんを通してしかできなかったデータ 抽出が誰でもできるようになったことで、PDCAサイクルにス ピードが⽣生まれます」 •  「エンジニアさんとのデータ項⽬目に関する齟齬をなくし仕様変 更更を防ぐという意味でもデータに関する共通認識識を持っておく のは必要なことかと思います」 17
  • 18. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日のアジェンダ n  データベースとは?SQLとは?(5分) n  ハンズオン(40分) •  データを抽出してみよう •  条件を指定してみよう •  複数のテーブルからデータを抽出しよう n  分析基盤について  ―ビズリーチの事例例紹介(3分) n  まとめ&アンケート(5分) 18
  • 19. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 実⾏行行環境を開く n  事前のお知らせの通り、設定いただいた https://apex.oracle.com/pls/apex/  にアクセスし、「SQL ワークショップ」>「SQL  Commands」を選んでください。 ※環境設定をしていない・Wi-‐‑‒Fiに接続できない場合は   メモ帳やテキストエディタでよいので、SQLを書いて   みてください。 ※資料料(SQL⽂文含む)は後⽇日公開するので、復復習に   お使いください。メモが間に合わなくても⼤大丈夫です。 19
  • 20. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 実⾏行行環境を開く n  この画⾯面でSQLを⼊入⼒力力し、「Run」ボタンで実⾏行行します。 n  同じようなSQLを何度度も使うので、⼀一度度メモ帳やエディ タに書き、それを↓にコピーするのがおすすめです。 20 この欄に⼊入⼒力力
  • 21. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ハンズオン n  データを抽出してみよう n  条件を指定してみよう n  複数のテーブルからデータを抽出しよう 21
  • 22. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データを抽出してみよう n  データを抽出するときは必ず使う いちばん基本的な⽂文です! 22 select  列列名  from  テーブル名 どの列列(項⽬目)を 抽出するか どのテーブル(表)から
  • 23. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データを抽出してみよう n  社員情報が⼊入っている「emp」というテーブル(表) とりあえず全ての列列を出して⾒見見てみる! n  「全て」=「*」 n  select  *  from  emp; ※実務では、テーブルごとに何の項⽬目(列列)が⼊入っているかはあらかじめ   わかっていて(別途表にまとまっていたりします)、⽬目的のテーブルに   対してSQLを書いてデータを出す、という流流れが⼀一般的です。 23 すべての列列 を抽出 empテーブル から
  • 24. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データを抽出してみよう 24
  • 25. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データを抽出してみよう n  名前(ename)と役職(job)だけ知りたい? →select  のあとに  抽出したい列列名を⼊入⼒力力 n  select  ename  ,job   from  emp ; 25 select  ename,  job だと  1⾏行行⽬目の,と2⾏行行⽬目のjobを削除す る必要があるのでミスが起きやすい
  • 26. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  emp  テーブルから 名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno) を抽出してください。(2分) 26
  • 27. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  emp  テーブルから 名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno) を抽出してください。(2分) n  select  ename  ,hiredate  ,deptno from  emp ; 27
  • 28. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. データを抽出してみよう ⼩小技!抽出したデータを順番に並べることも可能 n  最後に  order  by  (列列名)をつける  →昇順に並べる order  by  (列列名)  desc  までつけると降降順 n  select  ename  ,hiredate  ,deptno from  emp order  by  hiredate  desc ; 28 抽出されるデータは同じだが ⼊入社⽇日の降降順(遅い順)に並ぶ
  • 29. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ハンズオン n  データを抽出してみよう n  条件を指定してみよう n  複数のテーブルからデータを抽出しよう 29
  • 30. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  条件は「where」のあとに書く 30 select  列列名  from  テーブル名   where  条件   どの列列(項⽬目)を 抽出するか どのテーブル(表)から どんな条件のデータを
  • 31. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  抽出する列列: 名前(ename)・⼊入社⽇日(hiredate)・部⾨門番号(deptno) select  ename  ,hiredate  ,deptno from  emp ; n  条件:部⾨門番号が10のデータ 31
  • 32. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  条件:部⾨門番号が10のデータ select  ename  ,hiredate  ,deptno from  emp where  deptno  =  10 ; 32
  • 33. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  条件に、⽂文字や⽇日付を指定するときは  '  '  で囲むこと! n  条件:名前  が  KING  のデータ select  ename  ,hiredate  ,deptno from  emp where  ename  =  'KING' ; 33 where  ename  =  KING とすると、エラーになってしまう
  • 34. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  数値や⽇日付であれば、  =  以外にも 不不等号(>=,  <=,  >,  <)を条件に使える   n  条件:給与  が  3000以上  のデータ select  ename  ,hiredate  ,sal from  emp where  sal  >=  3000 ; 34
  • 35. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  数値や⽇日付であれば、  =  以外にも 不不等号(>=,  <=,  >,  <)を条件に使える   n  条件:⼊入社⽇日  が  1981年年1⽉月1⽇日以降降  のデータ select  ename  ,hiredate  ,sal from  emp where  hiredate  >=  '01-‐‑‒01-‐‑‒1981' ; 35 ⽇日付は  '  '  で囲むのを忘れない! 不不等号を⽇日付に使う場合は   >=(以降降)  <=(以前)
  • 36. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  emp  テーブルから、以下の条件のデータを抽出してく ださい。 抽出する列列:   名前(ename)  ⼊入社⽇日(hiredate)  給与(sal) 条件:   給与が  2000以下 36
  • 37. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  emp  テーブルから、以下の条件のデータを抽出してください。 抽出する列列:   名前(ename)  ⼊入社⽇日(hiredate)  給与(sal) 条件:   給与が  2000以下 n  select  ename  ,hiredate  ,sal from  emp where  sal  <=  2000 ; 37
  • 38. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  and  や  or  を使えば、複数の条件を満たすデータを抽出できる! n  条件:部⾨門番号が10  もしくは  部⾨門番号が20 select  ename  ,hiredate  ,deptno from  emp where  deptno  =  10  or  deptno  =  20 ; 38
  • 39. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 条件を指定してみよう n  and  や  or  を使えば、複数の条件を満たすデータを抽出できる! n  条件:部⾨門番号が10  かつ  ⼊入社⽇日が1981年年10⽉月1⽇日以降降 select  ename  ,hiredate  ,deptno from  emp where  deptno  =  10  and  hiredate  >=  '10-‐‑‒01-‐‑‒1981' ; 39
  • 40. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ハンズオン n  データを抽出してみよう n  条件を指定してみよう n  複数のテーブルからデータを抽出しよう 40
  • 41. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう 「複数のテーブルから」ってどういうこと? 41 社員ID ⽒氏名 部⾨門番号 123 佐藤  ⼀一郎郎 10 124 鈴鈴⽊木  健太 20 125 ⽥田中  涼⼦子 20 部⾨門番号 部⾨門名 10 営業部 20 開発部 30 ⼈人事部 社員ID ⽒氏名 部⾨門番号 部⾨門名 123 佐藤  ⼀一郎郎 10 営業部 124 鈴鈴⽊木  健太 20 開発部 125 ⽥田中  涼⼦子 20 開発部 共通の列列をキーにして、複数のテーブルをくっつける(結合) 社員名簿には 部⾨門名はない
  • 42. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう どうしてそんなことするの? n  データベース内のデータは、先ほどのスライドと同様 重複のないよう分割されている場合が多い(正規化) •  重複した情報が多いと、データ量量が不不必要に⼤大きくなる •  もし正規化されていないデータベースで 「開発部」→「商品開発部」と変更更があったら 開発部の社員全部のデータを書き換えなければいけない… ※もっと知りたい⽅方は  参考⽂文献: http://itpro.nikkeibp.co.jp/article/COLUMN/20130416/471174/? ST=develop 42
  • 43. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう 共通の列列をキーにして、複数のテーブルをくっつける(結合) n  「結合」にも種類があるが、今回紹介するのは「内部結合」 •  テーブルAとテーブルBの共通の列列をキーにする •  テーブルAとテーブルBの どちらにも存在するデータのみ 取得して新しい表をつくる 43 ここだけ! テーブル A テーブル B
  • 44. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう n  内部結合 44 select  列列名  from  テーブル名A   inner  join  テーブル名B on  A.列列名  =  B.列列名   どのテーブル(表)と結合するか テーブルAとBの、共通のキーは何か
  • 45. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう n  emp  テーブルと  dept  テーブル(部⾨門)を内部結合 共通のキー:deptno(部⾨門番号) n  抽出する列列:すべて n  select  * from  emp inner  join  dept on  emp.deptno  =  dept.deptno ; 45 emp  テーブルと dept  テーブルを内部結合(inner  join) 共通のキーは  deptno ※列列名の前にテーブル名を書く!
  • 46. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう 46 共通のキーは  deptno emp  テーブル dept  テーブル
  • 47. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう n  emp  テーブルと  dept  テーブル(部⾨門)を内部結合 共通のキー:deptno(部⾨門番号) n  抽出する列列:ename(名前)  deptno(部⾨門番号)  dname(部⾨門名)   n  select    emp.ename  ,emp.deptno  ,dept.dname from  emp inner  join  dept on  emp.deptno  =  dept.deptno ; 47 抽出する列列名の前にも テーブル名を書く!
  • 48. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう 48 emp  テーブル dept  テーブル
  • 49. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  emp  テーブルと  dept  テーブルを deptno  列列をキーに内部結合させて、 以下の条件のデータを抽出してください。 抽出する列列:   emp  テーブルから       名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno)     dept  テーブルから     部⾨門名(dname)  部⾨門のある地名(loc) 49
  • 50. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  select  emp.ename  ,emp.hiredate  ,emp.deptno  ,dept.dname  ,dept.loc from  emp inner  join  dept on  emp.deptno  =  dept.deptno ; 50
  • 51. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 51
  • 52. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 演習問題 n  select  e.ename  ,e.hiredate  ,e.deptno  ,d.dname  ,d.loc from  emp  e inner  join  dept  d on  e.deptno  =  d.deptno ; 52 from,  inner  join  のテーブル名の後に 別名を命名できる! e,  d  など短縮した別名をつければ、この select⽂文の全部で使える
  • 53. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう 合わせ技!結合させたテーブルに対して、条件指定が可能 n  emp  テーブルと  dept  テーブル(部⾨門)を内部結合 共通のキー:deptno(部⾨門番号) n  抽出する列列:   emp  テーブルから       名前(ename)  ⼊入社⽇日(hiredate)  部⾨門番号(deptno)     dept  テーブルから     部⾨門名(dname)  部⾨門のある地名(loc) n  条件:部⾨門番号が20の社員 53
  • 54. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 複数のテーブルからデータを抽出しよう n  select  emp.ename  ,emp.hiredate  ,emp.deptno  ,dept.dname  ,dept.loc from  emp   inner  join  dept   on  emp.deptno  =  dept.deptno where  emp.deptno  =  20 ; 54 条件が複数ある場合は and,  or  も使える
  • 55. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 55
  • 56. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日のアジェンダ n  データベースとは?SQLとは?(5分) n  ハンズオン(40分) •  データを抽出してみよう •  条件を指定してみよう •  複数のテーブルからデータを抽出しよう n  分析基盤について  ―ビズリーチの事例例紹介(3分) n  まとめ&アンケート(5分) 56
  • 57. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ビズリーチ社内の分析基盤 n  個⼈人情報保護・レスポンス向上のため サービスのDBから、分析に必要なデータのみ 取り出したものを  Amazon  Redshift  で構築 57 リモートで操作 アクセス制限をAWSと調整 Amazon   Redshift   BizReach Datamart BizReach Database エンジニア 個⼈人情報等を除き 夜間バッチ 個⼈人情報
  • 58. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ビズリーチ社内の分析基盤 n  スポットで⾒見見たいデータは、 データマートからSQLで抽出して出⼒力力 n  BIツール「Tableau」で集計・グラフ化することも 58 CSV  /   Excel 集計 報告 SQL ●●●●? BizReach Datamart
  • 59. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. ビズリーチ社内の分析基盤 n  常にモニタリングすべきデータは、 データマート(Redshift)とTableauをライブ接続 n  Tableau上でリアルタイムに状況を確認できる n  特に重要な指標は、毎朝メールが⾶飛ぶようプログラム化 59 Tableau 集計・ グラフ化 BizReach Datamart
  • 60. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 当社のケースが記事化されました 60 https://seleck.cc/article/8
  • 61. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日のアジェンダ n  データベースとは?SQLとは?(5分) n  ハンズオン(40分) •  データを抽出してみよう •  条件を指定してみよう •  複数のテーブルからデータを抽出しよう n  分析基盤について  ―ビズリーチの事例例紹介(3分) n  まとめ&アンケート(5分) 61
  • 62. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. まとめ 62 select  列列名  from  テーブル名 どの列列(項⽬目)を 抽出するか どのテーブル(表)から select  列列名  from  テーブル名   where  条件   どの列列(項⽬目)を 抽出するか どのテーブル(表)から どんな条件のデータを
  • 63. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. まとめ 63 select  列列名  from  テーブル名A   inner  join  テーブル名B on  A.列列名  =  B.列列名   どのテーブル(表)と結合するか テーブルAとBの、共通のキーは何か
  • 64. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. もっとSQLを勉強したい⽅方へ n  今⽇日使った環境で練習したい •  Webブラウザで学ぶ実践SQL講座 http://www.atmarkit.co.jp/ait/kw/jissen_̲sql_̲kouza.html •  今⽇日の勉強会は、このページをベースにしています n  本を読んで体系的に勉強したい •  書き込み式SQLのドリル http://goo.gl/97wtAM •  基本的な⽂文法を網羅羅できます •  環境構築の⽅方法・サンプルデータもついていて便便利利 n  あくまでも個⼈人の意⾒見見なので、周りの⼈人のおすすめも聞いて みてください。 64
  • 65. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. さいごに connpassグループ 「OWL.learn」 BIツール「Tableau」、R、数学など データサイエンスにまつわる勉強会を実施 ぜひグループのメンバーに! 65
  • 66. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. さいごに ビズリーチで⼀一緒に働いていただける 仲間を募集中です! 66
  • 67. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. 今⽇日の⽬目標 n  ⾃自分で⼿手を動かして、SQLを書く! n  基本的な⽂文法が、なんとなくわかるようになる n  もっとデータを⾒見見てみたい、SQLを勉強してみたい  と 思う(と嬉しいです) 67
  • 68. Copyright  ©  BizReach,  Inc.  All  Right  Reserved. さいごに ご清聴ありがとう ございました! 68