Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
KH
Uploaded by
Kazuma Hidaka
468 views
SQL勉強会 初級編
社内勉強会用資料
Data & Analytics
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 41
2
/ 41
3
/ 41
4
/ 41
5
/ 41
6
/ 41
7
/ 41
8
/ 41
9
/ 41
10
/ 41
11
/ 41
Most read
12
/ 41
13
/ 41
14
/ 41
15
/ 41
16
/ 41
17
/ 41
18
/ 41
Most read
19
/ 41
20
/ 41
21
/ 41
22
/ 41
23
/ 41
24
/ 41
25
/ 41
26
/ 41
27
/ 41
28
/ 41
29
/ 41
30
/ 41
31
/ 41
32
/ 41
33
/ 41
34
/ 41
35
/ 41
36
/ 41
37
/ 41
38
/ 41
Most read
39
/ 41
40
/ 41
41
/ 41
More Related Content
PPTX
Heat Exchangers Selection Criteria. HH.pptx
by
HinaHayat5
PDF
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
by
Ryota Watabe
PDF
Sql基礎の基礎
by
Satomi Tsujita
PPTX
Db seminar 20190619
by
SAKURUG co.
PDF
mysql casual #4
by
kenji naito
PDF
2018年度 若手技術者向け講座 実行計画
by
keki3
PDF
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
by
Ryota Watabe
PPTX
ニャーQL勉強会(エンジニアでないメンバーがSQLを身につける勉強会)
by
Ken-ichi Kudo
Heat Exchangers Selection Criteria. HH.pptx
by
HinaHayat5
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
by
Ryota Watabe
Sql基礎の基礎
by
Satomi Tsujita
Db seminar 20190619
by
SAKURUG co.
mysql casual #4
by
kenji naito
2018年度 若手技術者向け講座 実行計画
by
keki3
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
by
Ryota Watabe
ニャーQL勉強会(エンジニアでないメンバーがSQLを身につける勉強会)
by
Ken-ichi Kudo
Similar to SQL勉強会 初級編
PDF
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
by
Kenta Oku
PDF
Chugokudb18_2
by
Kosuke Kida
PDF
Db
by
Jun Chiba
PDF
【GCPUG滋賀】BigQueryでさるでもわかるSQL(20190323)
by
Misaki Hisamura
PPT
SQLチューニング勉強会資料
by
Shinnosuke Akita
PDF
2018年度 若手技術者向け講座 インデックス
by
keki3
PPT
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
by
Toru Miyahara
PPTX
Tuning on my_sql
by
Edward D. Kim
PPTX
Sql learning
by
Sadayoshi Ikushima
PDF
Wtm
by
Soudai Sone
PDF
PerlとSQLのいろいろ
by
Takuya Tsuchida
PDF
2019年度若手技術者向け講座 実践SQL
by
keki3
ODP
SQLを書こう
by
nakajima_yuji
PPT
今年こそ始めたい!SQL超入門 MIRACLE Linux Meetup版 0620
by
Toru Miyahara
PDF
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
by
kwatch
PDF
2019年度 若手技術者向け講座 実行計画
by
keki3
PDF
データベース02 - SQL概要
by
Kenta Oku
PDF
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
by
歩 柴田
PPTX
SQL文について
by
iPride Co., Ltd.
PDF
データベースシステム論06 - SQL基礎演習1 データの定義と操作
by
Shohei Yokoyama
データベース03 - SQL(CREATE, INSERT, DELETE, UPDATEなど)
by
Kenta Oku
Chugokudb18_2
by
Kosuke Kida
Db
by
Jun Chiba
【GCPUG滋賀】BigQueryでさるでもわかるSQL(20190323)
by
Misaki Hisamura
SQLチューニング勉強会資料
by
Shinnosuke Akita
2018年度 若手技術者向け講座 インデックス
by
keki3
今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ
by
Toru Miyahara
Tuning on my_sql
by
Edward D. Kim
Sql learning
by
Sadayoshi Ikushima
Wtm
by
Soudai Sone
PerlとSQLのいろいろ
by
Takuya Tsuchida
2019年度若手技術者向け講座 実践SQL
by
keki3
SQLを書こう
by
nakajima_yuji
今年こそ始めたい!SQL超入門 MIRACLE Linux Meetup版 0620
by
Toru Miyahara
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
by
kwatch
2019年度 若手技術者向け講座 実行計画
by
keki3
データベース02 - SQL概要
by
Kenta Oku
Bind Peek をもっと使おうぜ!(柴田 歩) - JPOUG Advent Calendar 2014(Day 5) -
by
歩 柴田
SQL文について
by
iPride Co., Ltd.
データベースシステム論06 - SQL基礎演習1 データの定義と操作
by
Shohei Yokoyama
SQL勉強会 初級編
1.
Copyright © 2016
Digital Garage, Inc. All Rights Reserved SQL勉強会:初級編 2017/06/21 ⽇⾼⼀⾺
2.
今⽇のアジェンダ pデータベースとは pSQLとは pハンズオン nデータを抽出してみよう n条件を指定して抽出してみよう n簡単な集計をしてみよう - 2 -
3.
今⽇の⽬標 p⾃分で実際に⼿を動かしてSQLを書いてみる pSQLの基本的な書き⽅がわかる ※今⽇触れないこと n複雑な分析・集計 nデータベースの環境構築・設計・運⽤ nパフォーマンスチューニング - 3 -
4.
データベースとは p⼤量のデータを集めて、コンピューターでデータの 追加、削除、検索をしやすい形に整理したもの。 引⽤:コトバンク https://kotobank.jp/word/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9-6197 p世の中のサービスは、データベースとの連携が不可⽋ n銀⾏⼝座、チケット予約、百科事典、ブログ、EC、etc. pエクセルの表もデータベースの⼀種 - 4 -
5.
データベースとは p簡単にいうと - 5 - 新しくデータを 追加します 〇〇という条件に 合うデータを 抽出します
6.
データベースとは pデータベースの中⾝は - 6 -
7.
データベースとは pデータベースの中⾝は pエクセルの様な、⼆次元の表になっている →これをテーブルと呼ぶ - 7 - 社員番号
⽒名 ふりがな ⽣年⽉⽇ A001 佐藤花⼦ さとうはなこ 1980-01-23 A002 ⼭⽥太郎 やまだたろう 1979-04-20 B001 ⽥中⼀郎 たなかいちろう 1983-12-07
8.
データベースとは - 8 - 社員番号
⽒名 ふりがな ⽣年⽉⽇ A001 佐藤花⼦ さとうはなこ 1980-01-23 A002 ⼭⽥太郎 やまだたろう 1979-04-20 B001 ⽥中⼀郎 たなかいちろう 1983-12-07 ⾏(row、レコードなど): 1⾏がひとまとまりのデータ 例)社員番号A001の⼈の情報 列(column、属性など): 1列がひとまとまりのデータ 同じ列は、データ型が決まっている
9.
SQLとは pデータベースが理解してくれる⾔葉 - 9 - 新しくデータを 追加します 〇〇という条件に 合うデータを 抽出します
10.
SQLとは pデータベースが理解してくれる⾔葉 - 10 - INSERT
INTO hoge VALUES … SELECT * FROM fuga WHERE …
11.
SQLとは pSQLで出来ること nデータの登録 nデータの削除 nデータの更新 nデータの検索 - 11 -
12.
SQLとは pSQLで出来ること nデータの登録 nデータの削除 nデータの更新 nデータの検索 →今⽇はこれだけ扱います! - 12
-
13.
SQLとは p余談:なんの略語でもない pStructured Query Language: IBMが開発した⾔語。SQLのもとになっている -
13 -
14.
SQLとは p今回は、PostgreSQLという データベース管理システムを使います p他にも、MySQL, SQL Server(Transact-SQL), Oracle
Database(Oracle SQL)などの種類があります p基本的な書き⽅はどれもだいたい同じ - 14 -
15.
SQLとは pSQLがわかるといいことがたくさん! nディレクターがSQLを使えてよかった話(by cookpad) http://techlife.cookpad.com/entry/2016/07/06/094332 nディレクターがSQLを覚えて、捗った話(by CA) https://developers.cyberagent.co.jp/blog/archives/4901/ p「エンジニアを通さなくてもデータ抽出が出来るように なると、PDCAサイクルがスピードアップ」 -
15 -
16.
ハンズオン! p実⾏環境の⽤意 nhttps://trycode.jp/gen/top.htm にアクセス n「TRYCODE:SQLを受講」→「SQL練習場」 - 16
-
17.
ハンズオン! pデータを抽出してみよう p条件を指定して抽出してみよう p簡単な集計をしてみよう - 17 -
18.
データを抽出してみよう pデータ抽出の基本中の基本 - 18 - SELECT
列名 FROM テーブル名 どの列(カラム)を 抽出するか どのテーブルから
19.
データを抽出してみよう p「book」テーブルの全ての列を抽出してみよう p「全て」 は 「*」 üSELECT
* FROM book; - 19 - SELECT 列名 FROM テーブル名 どの列(カラム)を 抽出するか どのテーブルから 全ての列を抽出 「book」テーブルから ⽂の終わりには「;」
20.
データを抽出してみよう p「book」テーブルから 「book_name」と「on_sale_date」列を抽出してみよう üSELECT book_name, on_sale_date
FROM book; - 20 - SELECT 列名 FROM テーブル名 「book_name」「on_sale_date」列を抽出 複数項⽬を指定するときは、「,」で繋げる どのテーブルからどの列(カラム)を 抽出するか 「book」テーブルから
21.
データを抽出してみよう:演習1(2分) p「book」テーブルから 「book_id」「book_name」「price」列を抽出してみよう - 21 - SELECT
列名 FROM テーブル名 どの列(カラム)を 抽出するか どのテーブルから
22.
データを抽出してみよう:演習1(2分) p「book」テーブルから 「book_id」「book_name」「price」列を抽出してみよう üSELECT book_id, book_name,
price FROM book; - 22 - SELECT 列名 FROM テーブル名 どのテーブルからどの列(カラム)を 抽出するか
23.
データを抽出してみよう:ちなみに p任意の場所で改⾏、スペース、タブを⼊れてOK p(⼤⽂字⼩⽂字が混在してもOK)←⾮推奨 - 23 - SELECT
book_id, book_name FROM book; SELECT book_id, book_name FROM book; SElEct Book_iD, bOOk_name fROm bOok; SELECT book_id , book_name FROM book;
24.
データを抽出してみよう p後ろに「ORDER BY 列名」をつけると、 結果を並び替えることも可能 p最後に「LIMIT
⾏数」で⾏数を限定できる - 24 - SELECT * FROM book ORDER BY price LIMIT 10; SELECT * FROM book ORDER BY price DESC LIMIT 5; →昇順 →降順
25.
ハンズオン! pデータを抽出してみよう p条件を指定して抽出してみよう p簡単な集計をしてみよう - 25 -
26.
条件を指定して抽出してみよう p「WHERE」で、取得するデータの条件を指定する pFROMの後に書く - 26 - SELECT
列名 FROM テーブル名 WHERE 条件 どの列(カラム)を 抽出するか どのテーブルから どんな条件で
27.
条件を指定して抽出してみよう p「price」が2000より⼤きいデータを抽出する場合 pデータの⼀致は、=で指定します nWHERE price =
1000 pデータの⼤⼩は、>, <, >=, <=で指定します pデータの範囲は、BETWEEN a AND bで指定します nWHERE price BETWEEN 1000 AND 2000 (1000,2000は含む) - 27 - SELECT * FROM book WHERE price > 2000;
28.
条件を指定して抽出してみよう p⽂字や⽇付を指定する場合、ʼʼで値を囲む - 28 - SELECT
* FROM book WHERE on_sale_date < ʻ2000-01-01ʼ;
29.
条件を指定して抽出してみよう pANDやOR条件も指定できます - 29 - SELECT
* FROM book WHERE on_sale_date > ʻ2010-01-01ʼ AND (price < 1000 OR price > 3000);
30.
条件を指定して抽出してみよう:演習2(3分) pbookテーブルから、以下の条件で抽出してみよう - 30 - 抽出する列:book_name,
price, page_count 条件1:priceが200以上かつ3000以下 条件2:page_countが300より⼤きい ※条件1,2はどちらも満たす priceを降順に並べる
31.
条件を指定して抽出してみよう:演習2(3分) pbookテーブルから、以下の条件で抽出してみよう - 31 - 抽出する列:book_name,
price, page_count 条件1:priceが200以上かつ3000以下 条件2:page_countが300より⼤きい ※条件1,2はどちらも満たす priceを降順に並べる SELECT book_name, price, page_count FROM book WHERE price BETWEEN 200 AND 3000 AND page_count > 300 ORDER BY price DESC;
32.
ハンズオン! pデータを抽出してみよう p条件を指定して抽出してみよう p簡単な集計をしてみよう - 32 -
33.
簡単な集計をしてみよう p「集計関数」を使うと、レコードをまたいで 計算が出来ます。 nCOUNT: テーブルのレコード数を数える nSUM: その(数値型の)カラムのデータの合計値を求める nAVG:
その(数値型の)カラムのデータの平均値を求める nMAX: そのカラムのデータの最⼤値を求める nMIN: そのカラムのデータの最⼩値を求める - 33 -
34.
簡単な集計をしてみよう - 34 - SELECT COUNT(price) ,
SUM(price) , AVG(price) , MAX(price) , MIN(price) FROM book;
35.
簡単な集計をしてみよう pデータをグルーピングした後に集計することもできます - 35 - SELECT
列名, 集計関数 FROM テーブル名 GROUP BY 列名 グループ化に 使った列 どんな計算をするか どの列でグループ化するか
36.
簡単な集計をしてみよう - 36 - SELECT COUNT(*) ,
SUM(price) , AVG(price) , MAX(price) , MIN(price) FROM book; SELECT publisher_id , COUNT(*) , SUM(price) , AVG(price) , MAX(price) , MIN(price) FROM book GROUP BY publisher_id;
37.
簡単な集計をしてみよう:演習3(3分) pbookテーブルから、以下の条件で抽出・集計してみよう - 37 - 集計したいもの:category_idごとの、 ⾏数、DISCOUNTの平均値、最⼤値 ※平均値を降順に並べる
38.
簡単な集計をしてみよう:演習3(3分) pbookテーブルから、以下の条件で抽出・集計してみよう - 38 - 集計したいもの:category_idごとの、 ⾏数、DISCOUNTの平均値、最⼤値 ※平均値を降順に並べる SELECT category_id ,
COUNT(*) , AVG(DISCOUNT) , , MAX(DISCOUNT) FROM book GROUP BY category_id ORDER BY AVG(DISCOUNT) DESC;
39.
まとめ - 39 - SELECT
列名 FROM テーブル名 どの列(カラム)を 抽出するか どのテーブルから SELECT 列名 FROM テーブル名 WHERE 条件 どの列(カラム)を 抽出するか どのテーブルから どんな条件で
40.
まとめ - 40 - SELECT
列名, 集計関数 FROM テーブル名 GROUP BY 列名 グループ化に 使った列 どんな計算をするか どの列でグループ化するか
41.
もっと勉強したい⽅へ p今⽇のおさらい n「TRYCODE:SQL」→「トレーニングへ」 n初級の解説を読む、演習を解く p次の勉強会開催(TRYCODEの中級編の内容) n複数テーブルをまたぐ処理など pオススメ書籍 「10年戦えるデータ分析⼊⾨ 〜SQLを武器にデータ活⽤時代を⽣き抜く」の第1~3章 - 41 -
Download