Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » データのクエリ


WHERE 句:ローの指定

SELECT 文の WHERE 句は、どのローを検索するのかを正確に決定する探索条件を指定します。探索条件は「述部」とも呼ばれます。一般的なフォーマットは次のとおりです。

SELECT select-list
FROM table-list
WHERE search-condition

WHERE 句の探索条件には、次のものがあります。

  • 比較演算子   (=、<、> など) たとえば、給料が $50,000 を上回る従業員全員をリストする場合は、次のようになります。
    SELECT Surname
       FROM Employees
       WHERE Salary > 50000;

  • 範囲   (BETWEEN と NOT BETWEEN) たとえば、給料が $40,000 ~ $60,000 の従業員をすべてリストする場合は、次のようになります。
    SELECT Surname
       FROM Employees
       WHERE Salary BETWEEN 40000 AND 60000;

  • リスト   (IN、NOT IN) たとえば、オンタリオ州、ケベック州、またはマニトバ州の顧客をすべてリストする場合は、次のようになります。
    SELECT CompanyName, State
       FROM Customers
       WHERE State IN( 'ON', 'PQ', 'MB');

  • 文字の一致   (LIKE と NOT LIKE) たとえば、電話番号が 415 ではじまる顧客をすべてリストする場合は、次のようになります (データベースでは、電話番号は文字列として保存されています)。
    SELECT CompanyName, Phone
       FROM Customers
       WHERE Phone LIKE '415%';

  • 不定の値   (IS NULL と IS NOT NULL) たとえば、マネージャがいる部署をすべてリストする場合は、次のようになります。
    SELECT DepartmentName
       FROM Departments
       WHERE DepartmentHeadID IS NOT NULL;

  • 組み合わせ   (AND、OR) たとえば、給料が $50,000 を上回り、名前が A で始まるすべての従業員をリストする場合は、次のようになります。
    SELECT GivenName, Surname
       FROM Employees
       WHERE Salary > 50000
       AND GivenName like 'A%';


WHERE 句での比較演算子の使用
WHERE 句での範囲の使用
WHERE 句でのリストの使用
WHERE 句での文字列のマッチング
NULL のためのカラムのテスト
NULL のプロパティ