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.