Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第1回 SQL勉強会 (社外公開用)

第1回 SQL勉強会 (社外公開用)

社内向けに行ったSQL勉強会の資料を社外公開用に一部加工して掲載したものになります。

Saiid Al-Halawi

December 06, 2021
Tweet

More Decks by Saiid Al-Halawi

Other Decks in Technology

Transcript

  1. ©2021 crassone
    第1回 SQL勉強会
    2021/11/01

    View Slide

  2. 1
    0. はじめに

    View Slide

  3. 2
    この会の趣旨
    エンジニア / 非エンジニアを問わず、データのさらなる利活
    用によって業務の幅を広げていくことを目的に知識ゼロから
    SQLを少しずつ学んでいこうというイベントです。
    たぶん全4回くらい実施できると一通りのことができるように
    なりそう。

    View Slide

  4. 3
    今日のゴール
    1. SQLとはなにか、なんとなく理解できるようになる
    2. そもそもデータベースって何なのかざっくり分かる
    3. SQLのごく簡単な編集を行えるようになる

    View Slide

  5. 4
    1. SQLってなんですか?

    View Slide

  6. 5
    SQLとは ...
    データの操作や定義を行うための
    データベース言語(問い合わせ言語)
    https://ja.wikipedia.org/wiki/SQL

    View Slide

  7. 6
    ちなみに ...
    問い合わせ言語 ≠ プログラミング言語

    View Slide

  8. 7
    2. じゃあデータベースってなんですか?

    View Slide

  9. 8
    データベースとは ...
    構造化・整理された
    情報の集まり

    View Slide

  10. 9
    つまりSQLとは ...
    「整理された情報の集まり」に
    任意の問い合わせを行う手段

    View Slide

  11. 10
    3. SQLってどんなことができるんですか?

    View Slide

  12. 11
    ざっくりSQLにできること
    データの「箱」をつくって
    中身の出し入れができる

    View Slide

  13. 12
    SQLの大まかな種類

    データ定義言語 (DDL)

    データ操作言語 (DML)

    データ制御言語 (DCL)

    View Slide

  14. 13
    SQLの大まかな種類

    データ定義言語 (DDL)

    データ操作言語 (DML)

    データ制御言語 (DCL)
    取り扱うのはこれだけ

    View Slide

  15. 14
    データ操作言語の種類
    ● INSERT (テーブルへの挿入)
    ● UPDATE (テーブルへの更新)
    ● DELETE (テーブルからの削除)
    ● SELECT (データの読取)

    View Slide

  16. 15
    データ操作言語の種類
    ● INSERT (テーブルへの挿入)
    ● UPDATE (テーブルへの更新)
    ● DELETE (テーブルからの削除)
    ● SELECT (データの読取)
    今日これだけ覚えれば OK

    View Slide

  17. 16
    4. テーブルってなんなんですか?

    View Slide

  18. 17
    ざっくりSQLにできること
    データの箱をつくって
    中身の出し入れができる
    これがテーブル

    View Slide

  19. 18
    データベースの構成要素
    テーブル
    特定種類のデータを実際に格納する「箱」。 ex.) ユーザーテーブル, 商品テーブル ...etc
    カラム
    格納データの個別の属性を決定づける「列」 。ex.) ユーザー名, ログインメールアドレス、定価 ...etc
    レコード
    テーブルへ格納する最小単位のデータ。「行」。ex.) 1人のユーザー, 商品A ...etc
    フィールド
    レコードを構成する単一の列データ 。ex.) ユーザーAのメールアドレス, 商品Aの定価 ...etc

    View Slide

  20. 19
    Spread Sheetで例えると ...

    View Slide

  21. 20
    Spread Sheetで例えると ...
    レコード
    カラム
    フィールド
    テーブル

    View Slide

  22. 21
    Spread Sheetで例えると ...
    テーブルの集まりがデータベースです。
    SpreadSheetで言うとシートの集まりで、
    つまり「ブック」に相当します。

    View Slide

  23. 22
    5. SELECT文の基礎

    View Slide

  24. 23
    SELECT文の基本的な構造
    SELECT
    [取り出したいフィールド]
    FROM
    [対象のテーブル名]
    WHERE
    [取り出す条件]
    ORDER BY
    [取り出す順番]
    LIMIT
    [取り出す最大件数]

    View Slide

  25. 24
    ※ これから紹介するクエリ例はあくまで学習用に設定
    された架空のものです。
    ※ 実際に各サービスがどのようにデータを取り扱って
    いるかについて、通常外部からは知ることができませ
    ん。
    ここで注意

    View Slide

  26. 25
    SELECT文の例1.
    ex.1) esa内の議事録記事一覧

    View Slide

  27. 26
    SELECT文の例1.
    「記事の中から”/議事録/”以下のものを更新が新しい順に 20件欲しい」
    という要求を表したものが上記のクエリです。
    SELECT
    記事番号, 記事タイトル, 書いた人, 更新日時
    starした人, watchした人, コメントした人
    FROM 記事
    WHERE
    記事タイトル LIKE ‘/議事録/%’
    ORDER BY 更新日時 新しい順
    LIMIT 20

    View Slide

  28. 27
    SELECT文の例2.
    ex.2) Wantedlyの求人詳細ページ

    View Slide

  29. 28
    SELECT文の例2.
    「求人の中からIDが480115に合致するものが1件だけ欲しい」
    という要求を表したものが上記のクエリです。
    (求人IDは各レコードに固有の番号として付加された識別子 )
    SELECT
    求人ID, 求人タイトル, 求人内容, 会社名,
    公開日時, エントリー数, PV数 ...
    FROM 求人
    WHERE
    求人ID = 480115

    View Slide

  30. 29
    6. metabaseでSELECT文を触ってみる

    View Slide

  31. 30
    データの見方 on metabase
    データの見方 on metabase
    実際にどんな性質のデータが用意されてるか、こ
    こからレファレンスできます

    View Slide

  32. 31
    ここからワークショップ
    じゃあ実際にいじってみましょう
    (時間の許す限り)

    View Slide

  33. 32
    7. おわりに

    View Slide

  34. 33
    今日のゴール
    1. SQLとはなにか、なんとなく理解できるようになる
    2. そもそもデータベースって何なのかざっくり分かる
    3. SQLのごく簡単な編集を行えるようになる
    どうだったでしょうか?

    View Slide

  35. 34
    次回予告
    1. 表結合の基本
    2. 集計関数の使い方

    View Slide