Contents
WHERE句
大きな組織のデータベースであれば、情報量は膨大でしょう数百、数千に及ぶ行を持つ表から特定の行を探すのは大変です
目的の情報を捜すための条件検索が求められますので、
SQL では、問い合わせに複雑な条件を指定することができます。条件には、比較演算子を使った真偽値で行います(true or fals)で検索します
WHERE句はSELECT文で使用されるだけでなく、UPDATE、DELETEなどでも使用されます。これについては後の章で説明します。
構文
WHERE句を使用したSELECT文の基本構文は、次のとおりです。
SELECT column1, column2, columnN FROM table_name WHERE [condition]
、<、=、LIKE、NOTなどの比較演算子または論理演算子を使用して条件を指定できます。以下の例では、この概念を明確にします。
例
次のレコードを持つCUSTOMERSテーブルを考えてみましょう。
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | yamada | 32 | Ahmedabad | 2000.00 | | 2 | tanaka | 25 | Delhi | 1500.00 | | 3 | yokoi | 23 | Kota | 2000.00 | | 4 | katumata | 25 | Mumbai | 6500.00 | | 5 | nakashima| 27 | Bhopal | 8500.00 | | 6 | ooki | 22 | MP | 4500.00 | | 7 | muramatu | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
次のコードは、給与が2000より大きいCUSTOMERSテーブルからID、Name、Salaryフィールドをする例です。
SQL> SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY > 2000;
これは、次のような結果になります。貧富の差がわかりますね。
+----+----------+----------+ | ID | NAME | SALARY | +----+----------+----------+ | 4 | katumata | 6500.00 | | 5 | nakashima| 8500.00 | | 6 | ooki | 4500.00 | | 7 | muramatu | 10000.00 | +----+----------+----------+
次のクエリは、nakashimという名前の顧客のCUSTOMERSテーブルからID、Name、およびSalaryフィールドを抽出する例です。
+----+----------+----------+ | ID | NAME | SALARY | +----+----------+----------+ | 5 | Hardik | 8500.00 | +----+----------+----------+