SQLを学んでください:マイクロソフトSQL Server -エピソード3:Where条項-パート1



データベースからデータを選択するときの大半は、特定の基準に基づいて結果セットを絞り込みたい.ここでWHERE句は私たちを助けることができます.
WHERE句と構文を使用してそれを使用します.


WHERE句文
WHERE句は、絞り込むための基準を指定します.
WHERE句を使用するには、次の構文を使用します.
Select [Column Names | *]
Where [Column Name] [operator] [criteria]
我々は結果を基準に絞り込む.

任意の数の基準を使用して、次の構文を使用して結果セットをさらに絞り込むことができます.
Select [Column Names | *]
Where [Column Name] [operator] [criteria]
AND | OR [Column Name] [operator] [criteria]

This will all make more sense when we actually make use of these query statements in SSMS.




演算子
使用できる演算子は以下の通りです.
=
<, >, >=, <=
Between (inclusive) - for dates and numbers.
WHERE句を使用してクエリ文を構築する方法の例を次に示します.
文法
Select firstName
From Person.Person
Where firstName = 'John'

When we have a criteria that is a string we need to enclose it in quotation marks. This can be either double quotes or single quotes, however remember you cannot mix the two.

'John" - This will be invalid.



SSMでは、クエリ文でWHERE句を使い始めることができます.

我々が見ることができるように、我々は最初の名前ジョンである人々と、結果の束を得ます.しかし、我々が特定のジョンを探しているならば、これはもちろんあまりに多くのデータです.より多くの基準を追加することで、さらにクエリ文を絞り込むことができます.

今回はジョンとしての名前とフォードとしての最後の名前を持つ人を探しています.我々は、この区別を絞り込むために、演算子を使用します.

我々は、ジョンとしての名前とフォードとして姓を見つける人を絞り込みました.しかし、私たちはジョンの最初の名前またはフォードの姓を持つ人を見つけたい場合.

この場合、OR演算子を使用します.

今回は、ジョンの最初の名前、またはフォードの姓を持つすべての人の結果を得る.
我々は必要に応じて多くの基準を使用することができます.

我々は現在、我々に利用可能な他の演算子を見ることができます.演算子以上から始めましょう.

SSMに戻ると、新しいクエリウィンドウを作成し、演算子以上の実験を行います.これらの演算子は通常、数字と日付で使用されますが、それらはまた、スティングの値を使用することができます.

ただし、すべての指定されたデータをプルしますが、結果セットには2000が含まれていません.これは2000年以上の問い合わせをしたからです.結果セットに2000を追加したい場合は、以下のように指定します.

この構文を使用して、2000未満の基準を持つ結果セットを確認できます.

予想通り、2000ポイント以下のデータポイントの結果を得る.結果セットに2000を入れたい場合は以下のようにします.



の間
条件の間でstartValueとendValueを使用し、それらの2つの値の間にある結果セットを返します.
例えば、人のデータを見たい.2000年から2021年の間にBusinessentityIDを持つPersonテーブルは、次の構文を使用します.
Select *
From Person.Person
Where BusinessEntityID between startValue and endValue
我々は、SSMでの行動でこれを見ることができます.

私たちは、同じ演算子を使用することによって同じ結果を得ることができました.

意味の間で、使用する必要を取り除きます、そして、それは質問声明を少し簡素化します.

私たちがSQLでものを狭めることができる方法に関する基本、私はあなたがこの議論を楽しんだことを望みます、そして、あなたがどこで私を見つけるべきかについてわかっているSQLでより多くのために.