4章フィルタリング
テーブルの行を1つ残らず操作したいことがあります。たとえば次のような場合です。
- 新しいデータウェアハウスのフィードとして使ったテーブルからデータをすべて削除する。
- テーブルに新しい列を追加した後、テーブルの行をすべて変更する。
- メッセージキューテーブルから行をすべて削除する。
このような場合、SQL文にwhere
句を追加する必要はありません。なぜなら、どのような行も考慮の対象から外す必要がないからです。しかし、ほとんどの場合は、テーブルの行の一部に焦点を絞り込む必要があります。このため、SQLのすべてのデータ文には、オプションのwhere
句があります。このwhere
句には、そのSQL文の影響を受ける行の数を絞り込むためのフィルタ条件(filter condition)が1つ以上含まれています。それに加えて、select
文には、グループ化したデータのフィルタ条件を指定できるhaving
句もあります。本章では、select
文、update
文、delete
文のwhere
句に指定できるさまざまな種類のフィルタ条件を詳しく見ていきます。select
文のhaving
句でフィルタ条件を使う方法については、8章で例を見ながら説明します。
4.1 条件の評価
where
句には、1つまたは複数の条件を指定できます。これらの条件はそれぞれand
またはor
演算子で区切って指定します。where
句に複数の条件が指定されていて、すべての条件がand
演算子で区切られていた場合、結果セットに含まれるのはすべての条件がtrue
と評価された行だけです。次のwhere
句について考えてみましょう。
WHERE first_name = 'STEVEN' AND create_date > '2006-01-01' ...
Get 初めてのSQL 第3版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.