社内向けに行ったSQL勉強会の資料を社外公開用に一部加工して掲載したものになります。
©2021 crassone第1回 SQL勉強会2021/11/01
View Slide
10. はじめに
2この会の趣旨エンジニア / 非エンジニアを問わず、データのさらなる利活用によって業務の幅を広げていくことを目的に知識ゼロからSQLを少しずつ学んでいこうというイベントです。たぶん全4回くらい実施できると一通りのことができるようになりそう。
3今日のゴール1. SQLとはなにか、なんとなく理解できるようになる2. そもそもデータベースって何なのかざっくり分かる3. SQLのごく簡単な編集を行えるようになる
41. SQLってなんですか?
5SQLとは ...データの操作や定義を行うためのデータベース言語(問い合わせ言語)https://ja.wikipedia.org/wiki/SQL
6ちなみに ...問い合わせ言語 ≠ プログラミング言語
72. じゃあデータベースってなんですか?
8データベースとは ...構造化・整理された情報の集まり
9つまりSQLとは ...「整理された情報の集まり」に任意の問い合わせを行う手段
103. SQLってどんなことができるんですか?
11ざっくりSQLにできることデータの「箱」をつくって中身の出し入れができる
12SQLの大まかな種類●データ定義言語 (DDL)●データ操作言語 (DML)●データ制御言語 (DCL)
13SQLの大まかな種類●データ定義言語 (DDL)●データ操作言語 (DML)●データ制御言語 (DCL)取り扱うのはこれだけ
14データ操作言語の種類● INSERT (テーブルへの挿入)● UPDATE (テーブルへの更新)● DELETE (テーブルからの削除)● SELECT (データの読取)
15データ操作言語の種類● INSERT (テーブルへの挿入)● UPDATE (テーブルへの更新)● DELETE (テーブルからの削除)● SELECT (データの読取)今日これだけ覚えれば OK
164. テーブルってなんなんですか?
17ざっくりSQLにできることデータの箱をつくって中身の出し入れができるこれがテーブル
18データベースの構成要素テーブル特定種類のデータを実際に格納する「箱」。 ex.) ユーザーテーブル, 商品テーブル ...etcカラム格納データの個別の属性を決定づける「列」 。ex.) ユーザー名, ログインメールアドレス、定価 ...etcレコードテーブルへ格納する最小単位のデータ。「行」。ex.) 1人のユーザー, 商品A ...etcフィールドレコードを構成する単一の列データ 。ex.) ユーザーAのメールアドレス, 商品Aの定価 ...etc
19Spread Sheetで例えると ...
20Spread Sheetで例えると ...レコードカラムフィールドテーブル
21Spread Sheetで例えると ...テーブルの集まりがデータベースです。SpreadSheetで言うとシートの集まりで、つまり「ブック」に相当します。
225. SELECT文の基礎
23SELECT文の基本的な構造SELECT[取り出したいフィールド]FROM[対象のテーブル名]WHERE[取り出す条件]ORDER BY[取り出す順番]LIMIT[取り出す最大件数]
24※ これから紹介するクエリ例はあくまで学習用に設定された架空のものです。※ 実際に各サービスがどのようにデータを取り扱っているかについて、通常外部からは知ることができません。ここで注意
25SELECT文の例1.ex.1) esa内の議事録記事一覧
26SELECT文の例1.「記事の中から”/議事録/”以下のものを更新が新しい順に 20件欲しい」という要求を表したものが上記のクエリです。SELECT記事番号, 記事タイトル, 書いた人, 更新日時starした人, watchした人, コメントした人FROM 記事WHERE記事タイトル LIKE ‘/議事録/%’ORDER BY 更新日時 新しい順LIMIT 20
27SELECT文の例2.ex.2) Wantedlyの求人詳細ページ
28SELECT文の例2.「求人の中からIDが480115に合致するものが1件だけ欲しい」という要求を表したものが上記のクエリです。(求人IDは各レコードに固有の番号として付加された識別子 )SELECT求人ID, 求人タイトル, 求人内容, 会社名,公開日時, エントリー数, PV数 ...FROM 求人WHERE求人ID = 480115
296. metabaseでSELECT文を触ってみる
30データの見方 on metabaseデータの見方 on metabase実際にどんな性質のデータが用意されてるか、ここからレファレンスできます
31ここからワークショップじゃあ実際にいじってみましょう(時間の許す限り)
327. おわりに
33今日のゴール1. SQLとはなにか、なんとなく理解できるようになる2. そもそもデータベースって何なのかざっくり分かる3. SQLのごく簡単な編集を行えるようになるどうだったでしょうか?
34次回予告1. 表結合の基本2. 集計関数の使い方