Skip to Content
SQLクックブック 第2版 ―データベースエキスパート、データサイエンティストのための実践レシピ集
book

SQLクックブック 第2版 ―データベースエキスパート、データサイエンティストのための実践レシピ集

by Anthony Molinaro, Robert de Graaf, 嶋田 健志, 木下 哲也
February 2022
Intermediate to advanced
560 pages
8h 5m
Japanese
O'Reilly Japan, Inc.
Content preview from SQLクックブック 第2版 ―データベースエキスパート、データサイエンティストのための実践レシピ集

付録B共通テーブル式

本書に示したクエリの多くは、特に集約関数やウィンドウ関数に関してデータベースで通常利用できるようなテーブルを使ってできることを超えた処理を行っています。そのため、一部のクエリでは派生テーブル(サブクエリや共通テーブル式、CTE:Common Table Expression)を作成する必要があります。

B.1 サブクエリ

ウィンドウ関数や集約関数に対してクエリを実行できる仮想テーブルを作成する最も簡単な方法は、おそらくサブクエリでしょう。ここで必要なのは、必要なクエリを丸括弧内に書き、そのクエリを使う2つ目のクエリを書くことだけです。以下のテーブルは、簡単な「二重集約」のサブクエリを使う例を示しています。職種ごとの従業員数だけでなく最高値を求めたいけれども、標準的なクエリでは集約関数を直接ネストすることはできません。

1つの落とし穴は、サブクエリテーブルやエイリアスが必要なベンダもあれば、必要のないベンダもあることです。次に挙げる例は、エイリアスを必要とするMySQLで書かれています。ここでのエイリアスは、閉じ括弧の後のHEAD_COUNT_TABです。

他にPostgreSQLとSQL Serverはエイリアスが必要ですが、Oracleは必要ありません。

select max(HeadCount) as HighestJobHeadCount from
(select job,count(empno) as HeadCount
from emp
group by job) head_count_tab

B.2 共通テーブル式

CTEはサブクエリの制約の一部を克服することを目的としています。SQL内で再帰クエリを使えることで最もよく知られているでしょう。実際に、SQLで再帰を可能にすることが、CTEの主なきっかけでした。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

詳解 Rustアトミック操作とロック ―並行処理実装のための低レイヤプログラミング

詳解 Rustアトミック操作とロック ―並行処理実装のための低レイヤプログラミング

Mara Bos, 中田 秀基
戦略的データサイエンス入門 ―ビジネスに活かすコンセプトとテクニック

戦略的データサイエンス入門 ―ビジネスに活かすコンセプトとテクニック

Foster Provost, Tom Fawcett, 竹田 正和, 古畠 敦, 瀬戸山 雅人, 大木 嘉人, 藤野 賢祐, 宗定 洋平, 西谷 雅史, 砂子 一徳, 市川 正和, 佐藤 正士

Publisher Resources

ISBN: 9784873119779Other