「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術

>100 Views

December 30, 25

スライド概要

こちらのイベントで話したものです

SAPPORO ENGINEER BASE #05
https://seb-sapporo.connpass.com/event/344436/

Docswellを使いましょう

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 「センスの良いSQLを書く技術」に学 ぶエンジニアの仕事術 DE-TEIU(@de_teiu_tkg) SAPPORO ENGINEER BASE #05 2025/02/28 1

2.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 自己紹介 名前 : DE-TEIU(twitter: @de_teiu_tkg) 職業 : 株式会社LIC エンジニア(雑用) 趣味 : クソアプリ開発、麻雀 サイト: Uselesscode 最近作ったアプリ:偽北海道難読地名クイズ SAPPORO ENGINEER BASE #05 2025/02/28 2

3.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 今日紹介する本 SAPPORO ENGINEER BASE #05 2025/02/28 3

4.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 センスの良いSQLを書く技術 データベースエンジニアである著者 が、データベースへの理解を深める ための知識や、データベースと向き 合う際の思考法について書いた本。 → 著者いわく「自分の頭の中をダンプ したような内容」 SAPPORO ENGINEER BASE #05 2025/02/28 4

5.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 本書の特徴 具体的なコードはほとんど登場しない データベースがどうやって生まれ、今日までどのように発展してき たのか、という歴史にかなりしっかり触れている SQLの書き方を論理学(特に述語論理)に基づいて解説している データベースには直接関係ないが、著者が長年の経験で身につけた 仕事論について語る章がある SAPPORO ENGINEER BASE #05 2025/02/28 5

6.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 こんな人におすすめ データベースが好き 技術について学ぶとき、その技術が生まれた歴史や、根幹にある思 想などのバックグラウンドも理解したい 論理学に興味がある ベテランのエンジニアの思想に触れたい 米国のビジネスの思想の傾向について学びたい SAPPORO ENGINEER BASE #05 2025/02/28 6

7.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 トピックをいくつか抜粋 SAPPORO ENGINEER BASE #05 2025/02/28 7

8.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 SQLはFROMから書け 実はSQLは、FROM句から書いた方が入力→出力の順で考えられるの で書きやすい。 あとFROMから書くとエディタの入力補完機能の恩恵も受けられる。 ※ちなみに、C#のLINQはFROMから書く仕様になっている。 SAPPORO ENGINEER BASE #05 2025/02/28 8

9.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 「NULL」は、TRUEでもFALSEでもなく、 「わからない」 SQLにおける命題は、真と偽の2択だけでなく、 っている。 さらに、その不明も 不明も含めた3択にな 未知なので不明 適用不可なので不明 の2種類があり、これをひっくるめてNULLと表現している。 SAPPORO ENGINEER BASE #05 2025/02/28 9

10.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 NULLについての余談 日本のデータベース研究者である増永良文氏は、NULLを「未知」 「存在しない」「情報がない」の3種類に分けた5値論理を提唱した。 なるほど。そういう考え方もある。 SAPPORO ENGINEER BASE #05 2025/02/28 10

11.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 NULLについての余談 また、ANSI(米国国家規格協会)はNULLを「この個人には妥当でな い」「この個人にはまだ存在していない」「論理的に保存することが 許されない」「この個人について知り得ない」「この個人について論 理的にまだ保存されていない」「論理的に削除された」「まだ利用可 能でない」「更新中(おそらくもう妥当ではない)」「疑わしい」 「妥当でない」「概念的なデータのクラスに対して秘匿性が高い」 「個別のオブジェクトに対して秘匿性が高い」「その時点で秘匿性が 高い」「上記のいずれかから導出された」の に分類した。 14種類 個人情報の保護や政治的な正しさまでNULLに含めたせいでグチャグ チャになっている。なんだこれは。 SAPPORO ENGINEER BASE #05 2025/02/28 11

12.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 歴史的アプローチ(帰納法)の効用 新しい技術や考え方に出会った時、理解を深めるために「証明」とい う演繹的なアプローチに飛びつくのではなく、「なぜその技術が出て きたのか」という歴史的背景を追っていくのも良い。 メリット 根気があれば誰でもできる。数学的センスは不要。 デメリット 非常に時間がかかる SAPPORO ENGINEER BASE #05 2025/02/28 12

13.

「センスの良いSQLを書く技術」に学ぶエンジニアの仕事術 おまけ - 特にオシャレだった文 “ “ 正直、この本は自分で書いたという自覚はほとんどなく、「師 匠」たちの言葉を書籍化して後進に伝えるためのものだ、という 一種の義務感で書きました。ソクラテスとの対話を文字に残した プラトンはきっとこんな気持ちだったんだろう、と思ったもので す。 2015年、著者が「SQL実践入門」を書き上げた話に登場する文。著 者が学生時代に哲学の勉強をしていたという話が伏線になっていてエ モい。 SAPPORO ENGINEER BASE #05 2025/02/28 13