1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

データサイエンス100本ノック回答メモ(SQL編)【1-20】

Posted at

始めに

筆者がデータサイエンス100本ノックSQL編を実施するにあたって、学んだことをメモ書きしたものです。
あくまで筆者の学習履歴を残すものになります。

本編

1

  • 特になし

2

  • 特になし

3

  • 特になし

4

  • WHEREの使い方を覚えよう

5

  • ANDの使い方を覚えよう

6

  • 複数の条件式を覚えよう。
  • 数学と同様に()を使って条件式は整備するのがポイント

7

  • 数値の範囲指定をする時はBERWEENを使おう

8

  • 条件の否定は"!="で表現
  • "<>"でもうまくいくっぽいけど。

9

  • ベンズを思い出せ。

10

  • 部分一致での検索は'LIKE'を使う。
  • かつ、'%'も併用しよう。

11

  • 特になし

12

  • '%'で文字列囲めば部分一致検索可能。
  • 特定の言葉を含む文字列の検索が出来る。
  • '%'はワイルドカード的な位置づけ。

13

  • '~':の使い方を覚えよう。正規表現を使ったパターン一致の時に使うらしい。LIKEではないので注意。
  • '^':文字列の先頭を意味するらしい。初めて見た。
  • '[A:F]':これでA~Fまでを意味するらしい。数学で似たようなの見たことあるの以来の出会い。覚えよう。
  • ↓結果こうなるらしい
%%sql
SELECT *
FROM customer
WHERE status_cd ~ '^[A:F]'
LIMIT 10
;

14

  • 13の数値・文字末尾検索パターン。
  • $:文字列の末尾を意味する。^じゃない。
%%sql
SELECT *
FROM customer
WHERE status_cd ~ '[1:9]$'
LIMIT 10
;

15

  • これはわからん。初めてみた。
  • '.':任意の一文字
  • '*':0回以上の繰り返し
  • 要するに「A:Fで始まる & ワイルドカード(=.) がX回(=*) & 1:9で終わる」を探すSQLになる。難しくなってきた。
%%sql
SELECT *
FROM customer
WHERE status_cd ~ '[A:F].*[1:9]$'
limit 10
;

16

  • これも初めてみた。
  • {数字}:指定された数字の回数の繰り返し
  • 要するに、電話番号が数値3桁-3桁-4桁で構成されている電話番号を探すSQLを作れる。
  • 問題文が自分には理解できなかった。3,3,4桁以外の電話番号もデータベースにあるんかな?
  • →テーブルみたら、2桁、4桁、3桁とかあった。つまり、これらを省くことができる
%%sql
SELECT *
FROM store
WHERE tel_no ~ '^[0-9]{3}-[0-9]{3}-[0-9]{4}$'
;

17

  • 'ORDER BY'と'ASC'を覚えればOK。
  • LIMITつけ忘れてPCフリーズした注意。
  • これは簡単。

18

  • 17の降順版。
  • DESC:降順を覚えればOK

19

  • 初めてみた。
  • RANKで順位を表示できる。
  • OVERはOVER句らしい
  • 難しい。OVER句が何かよくわからん。RANKにかかっている窓関数なるものらしい。
%%sql
SELECT customer_id, amount, 
 RANK() 
  OVER(ORDER BY amount DESC) AS ranking
FROM receipt
Limit 10
;

20

  • 19の同一順位は別順位を表示するバージョン
  • ROW_NUMBER()をRANKの代わりに使うこと
%%sql
SELECT customer_id, amount, 
    ROW_NUMBER() OVER(ORDER BY amount DESC) AS ranking
FROM receipt
LIMIT 10
;

回答にあたって参照・引用させて頂いた記事

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?