データをフィルタリングするための SQL WHERE 句

データをフィルタリングするための SQL WHERE 句

このチュートリアルでは、 SQL WHERE句とは何か、およびその使用方法について説明します。AND演算子とOR演算子を使用した複数の条件についても説明します。 

SQL のWHERE句は、データまたはレコードをフィルタリングするために使用されます。必要なレコードのみを抽出する条件を作成するために使用されます。 

SELECTステートメントでWHERE句を使用する以外に、 UPDATEDELETE、およびその他のSQLステートメントでも使用できます。ただし、このチュートリアルでは、 SELECTステートメントでのみ使用します。

目次

SQL WHERE 句を使用した単純な選択

SELECTステートメントでWHERE句を使用しないと、特定のテーブルからすべての行が返されます。

データをフィルタリングするための SQL WHERE 句

この例では、ガジェットカテゴリのデータのみを取得したいと考えています。

データをフィルタリングするための SQL WHERE 句


したがって、WHERE句を使用して結果を制限する必要があります。この例では、 Category列をチェックし、 Category がGadgetsの場合にのみレコードを返すという条件を作成しました。

データをフィルタリングするための SQL WHERE 句

文字列を使用する場合は、一重引用符 ( ' )で囲む必要があることに注意してください。 

数値または整数を使用する場合、一重引用符を使用する必要はありません。たとえば、価格が 30 以下のレコードを取得したいとします。

したがって、 Price列をチェックして 30 または 30 未満の値を持つ行を返すクエリを作成するだけです。ご覧のとおり、数値を一重引用符で囲みませんでした。整数。

データをフィルタリングするための SQL WHERE 句

AND 演算子を使用した SQL WHERE 句

複数の列に対してWHERE句をAND演算子やOR演算子と組み合わせて使用​​することもできます。

AND演算子は、両方の条件がTRUEの場合に機能します。したがって、複数の条件がTRUEであるレコードを取得するために使用されます。

たとえば、このシナリオでは、メーカーが GizmoWorks で、価格が 20 未満であるレコードが必要です。  

データをフィルタリングするための SQL WHERE 句

図に示すように、WHERE句とAND演算子を使用して複数の条件を作成しました。

データをフィルタリングするための SQL WHERE 句

私たちのテーブルには、GizmoWorks メーカーの行が 2 つあります。ただし、2 行目の価格は 20 を超えています。したがって、結果は、設定した 2 つの条件に対して true を返す行のみを返します。 

データをフィルタリングするための SQL WHERE 句

OR 演算子を使用したSQL WHERE 句

OR演算子は、いずれかの条件が true の場合にレコードを返すことを意味します。したがって、AND が条件の両方またはすべてが true であるレコードのみを返す場合、OR演算子を使用すると、1 つの条件のみが true を返す場合でもレコードが返されます。 

たとえば、製品名がSingleTouchまたはMultiTouchであるレコードをフェッチするとします。

データをフィルタリングするための SQL WHERE 句

ProductテーブルのPName列をチェックするクエリを作成するだけです。このクエリでは、WHERE句とOR演算子を使用して、設定された条件のいずれかに準拠する行を返しました。

データをフィルタリングするための SQL WHERE 句

SSMS での WHERE 句の使用

SSMSWHERE 句を使用してみましょう。ここでは、Microsoft の AdventureWorks2012 という名前のサンプル データベースを使用しています。このチュートリアルに従うことで、これを設定する方法を学ぶことができます。 

この例では、 SalesOrderHeaderテーブルの下のレコードをフェッチします。

データをフィルタリングするための SQL WHERE 句

SSMSでこのクエリを実行するには、それを強調表示して実行ボタンをクリックするだけです。

データをフィルタリングするための SQL WHERE 句

WHERE句を使用しないと、このテーブルの下にあるすべてのレコードが返されます。ご覧のとおり、31,465 行が返されました。

データをフィルタリングするための SQL WHERE 句

これらのレコードをフィルタリングして、 TerritoryIDが5 の行のみを返したいとします。そこで、ここでWHERE句を使用してその条件を作成しましょう。

データをフィルタリングするための SQL WHERE 句

このクエリを実行すると、31,465 行ではなく 486 行が返されるようになります。これは、 TerritoryID5のみを持つレコードにフィルターが適用されたためです。

データをフィルタリングするための SQL WHERE 句

現時点では、まだそのテーブルからすべての列を取得しています。表示したい列を指定して列を制限することもできます。

*を特定の列名に変更してクエリを実行する だけです。

データをフィルタリングするための SQL WHERE 句

同じ行数で設定した特定の列が表示されます。 

データをフィルタリングするための SQL WHERE 句

次に、文字列値を指定してWHERE句を使用してみましょう。たとえば、PurchaseOrderNumber列の値P014123169936に基づいてレコードを制限したいとします。この値には文字が含まれているため、多くの数値が含まれている場合でも文字列とみなされます。

データをフィルタリングするための SQL WHERE 句

文字列値を使用する場合は、値を一重引用符で囲む必要があることに注意してください。一重引用符を使用しないと、エラーがあることを示す赤い線が表示されます。

データをフィルタリングするための SQL WHERE 句

結果は 1 行のみになります。これは、設定した発注番号を含むデータが 1 つだけであることを意味します。

データをフィルタリングするための SQL WHERE 句

AND 演算子を使用した WHERE 句とキーワードによる並べ替え

特定の注文日を持つレコードを選択する別のフィルターを用意してみましょう。この例では、注文日が「 2014-01-01 」以上、「 2014-03-31 」以下であるレコードのみを選択します。

データをフィルタリングするための SQL WHERE 句

ここでOrder Byキーワードを使用することもできます。この例では、これをOrderDateの降順で並べ替えます。

データをフィルタリングするための SQL WHERE 句

結果には、設定した 2 つの条件を満たすレコードのみが表示されます。

データをフィルタリングするための SQL WHERE 句

BETWEEN演算子を使用してそのクエリを再作成することもできます。BETWEEN演算子は、指定された範囲内の値を選択します。したがって、この方法で実行しても同じ結果が得られます。 

データをフィルタリングするための SQL WHERE 句

複数の条件に対する OR 演算子を使用した WHERE 句

この例では、OR演算子を使用した複数の条件があります。テリトリー ID として 5、6、または 7 のいずれかの行を選択したいと考えています。

データをフィルタリングするための SQL WHERE 句

結果には、設定した条件のいずれかを満たすすべてのレコードが表示されます。この例では、7,225 行が返されました。

データをフィルタリングするための SQL WHERE 句

WHERE 句での関数の使用

WHERE句で関数を使用することもできます。たとえば、OrderDate列の日付値を手動で入力する代わりに、 YEAR関数を使用して、注文日が 2014 年のすべてのレコードを自動的に取得できます。 

データをフィルタリングするための SQL WHERE 句

その結果、2014 年の記録となる 11,761 行が得られました。

データをフィルタリングするための SQL WHERE 句

LuckyTemplates ユーザーのための SQL – 新しい LuckyTemplates コース
クエリの折りたたみと SQL Server への接続

結論

要約すると、 SELECTステートメントでWHERE句を使用する方法を学習しました。繰り返しますが、 UPDATEDELETE、およびその他のSQLステートメントでも使用できます。また、 AND演算子とOR演算子を使用して複数の条件を作成する方法も学びました。

さらに、値の範囲から選択するためのBETWEEN演算子の使用法を学びました。YEAR関数などの関数でWHERE句を使用することもできます。WHERE句を使用することは、必要なレコードをフィルタリングするために非常に重要です。必要のない不要なデータを除外するには、クエリによって返されるレコードを減らす必要があります。 

ではごきげんよう、

ハーフィズ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて