データベースは、最新のアプリケーションの重要な構成要素です。ただし、データベースには膨大な量のデータが保存されます。したがって、データをフィルタリングして、必要なレコードのみを取得する方法が必要です。
SQL の最も一般的なデータ フィルタリング方法の 1 つは、WHERE 句の使用です。 SQL の WHERE 句を使用すると、指定された条件に基づいてレコードをフィルタリングできます。この句では、SELECT ステートメントによって返されるレコードをフィルタリングできる 1 つ以上の条件を指定できます。
このチュートリアルでは、WHERE 句を使用して単一の句で複数の条件を指定する方法を説明します。これにより、より制御された詳細なデータ フィルタリングが可能になります。
SQL WHERE 句の基本
基本から始めて、SQL での WHERE 句の操作の基礎を学びましょう。
国の情報を保持するテーブルがあり、人口 (平方キロメートルあたり) が 100 人を超え、面積が 2000,000 を超える国のみを取得するとします。
次のようにクエリを実行できます。
選択する * FROM サンプルデータベース.国情報どこのエリア > 2,000,000 AND 平方キロ当たりの人口 > 100 ;
前の例では、WHERE 句と AND 演算子を使用して 2 つの条件を指定します。 AND 演算子を使用すると、結果セットにレコードを含めるには両方の条件が満たされなければならないことが SQL に伝えられます。
これにより、次のように指定された基準に一致する国のみが返されます。
WHERE 句で複数の条件を指定するための他の演算子を見てみましょう。
SQL OR 演算子
OR 演算子を使用すると、WHERE 句で複数の条件を指定できます。ただし、すべての条件が満たされる必要がある AND 演算子とは異なり、OR 演算子は少なくとも 1 つの条件が満たされる必要があります。
たとえば、面積が 2000,000 より大きいか、人口 (平方キロメートルあたり) が 100 より大きい国を選択するには、次のクエリを実行できます。
選択する * FROM サンプルデータベース.国情報どこのエリア > 2,000,000 または km_sq あたりの人口 > 100 ;
この場合、クエリは次のような結果を返す必要があります。
SQL IN 演算子
IN 演算子を使用して、列に複数の値を指定することもできます。たとえば、名前に「米国」と「ロシア」という文字列が含まれる国を選択するには、次のようにクエリを実行します。
選択する * FROM サンプルデータベース.国情報どこの国ですか ( 'アメリカ' 、 'ロシア' ) ;
結果:
SQL NOT 演算子
NOT 演算子を使用すると、特定の条件を否定できます。
たとえば、指定された面積がなく、平方キロメートルあたりの人気のある国を選択します。
選択する * FROM サンプルデータベース.国情報禁止エリア > 2,000,000 AND 平方キロ当たりの人口 > 100 ;
結果:
SQL の複数の演算子
複数の演算子を組み合わせて、より複雑な条件を指定することもできます。
選択する * FROM サンプルデータベース.国情報どこ ( 国情報.地域 > 2,000,000 AND 平方キロ当たりの人口 > 100 ) または国 = '中国' ;
出力:
この例では、かっこを使用して最初の 2 つの条件をグループ化し、3 番目の条件と比較される前に単一の条件として評価されます。
結論
SQL で複数の条件を指定するために WHERE 句を使用する方法を学びました。さらに、AND、OR、IN、NOT 演算子についても説明し、それらを組み合わせてより複雑な条件を作成する方法を発見しました。