使用すると、SELECT * FROM <表名>
テーブルにすべてのレコードを確認することができます。しかし、多くの時間は、状況に応じて、我々はすべてのレコードを取得したいが、選択的に得られていないレコードがクエリのスコアで、このような学生のレコードなどの基準に、80点以上を指定しました。レコードの数百万人とテーブルの場合、すべてのレコードへのアクセス時間だけでなく、メモリやネットワーク帯域幅がかかります。
SELECTステートメントができるWHERE
セットクエリ条件も、結果がクエリの基準を満たすレコードがあります。たとえば、条件を指定し、「80点以上の学生を獲得、」書かれたWHERE
条件がありますSELECT * FROM students WHERE score >= 80
。どのようにリニアモータについて
これは、WHERE
キーワードの後score >= 80
の状態です。score
列の名前があり、列を格納する生徒の成績、そのため、score >= 80
指定された条件のレコードをフィルタリングするには:
そのため、クエリ構文の条件は以下のとおりです。
SELECT * FROM <表名> WHERE <条件表达式>
条件式であってもよい<条件1> AND <条件2>
成立条件1及び条件2の発現。例えば、「80ポイントを獲得する以上、」とも条件を満たし、「男の子」予選、これら二つの条件を記述します。
- 条件1:データ決意スコアカラム:
score >= 80
。 - 条件2:性別欄を判断するデータ:
gender = 'M'
ノートのgender
列を格納する文字列は、単一引用符で囲まれる必要があります。
あなたは書くことができますWHERE
条件:score >= 80 AND gender = 'M'
:
第2の条件は、<条件1> OR <条件2>
条件1又は条件2が成立していることを示します。例えば、上述- AND
クエリへの2つの条件をOR
、クエリ結果は、「スコア80点以上」または「少年」、すなわち、選択したレコードのいずれかを満たす条件:
明らかに、OR
より条件のAND
緩い条件、一致するレコードは大きい程度で返されます。
第三の条件NOT <条件>
レコードは「条件を満たしていない」を示しています。例えば、「生徒のない二つのクラス、」この条件を書き、あなたが書くことができ、「学生の二つのクラスである」:、class_id = 2
と相まってNOT
:NOT class_id = 2
:
上記NOT
の条件があるNOT class_id = 2
と、実際と同等でclass_id <> 2
、そのため、NOT
クエリは非常に一般的ではありません。
三つ以上の条件を結合するには、括弧を使用する必要が()
どのように条件付きの操作を示しています。例えば、複合体により調製:スコア80以下90以上、少年。
あなたはブラケットがない場合は、操作条件に応じてNOT
、AND
、OR
優先順位は、すなわちNOT
最高の優先度は、続くAND
最終的には、OR
。括弧は、優先度を変更することができます。
共通の条件式
条件 | 式の例1 | 例2式 | 説明 |
---|---|---|---|
=等価決意使用 | スコア= 80 | 名前= 'ABC' | 文字列は単一引用符で囲む必要があります |
用途>よりも大きいの分析 | スコア> 80 | 名前> 'ABC' | 文字列の比較データベースをASCIIコードに応じて設定され、中国語の文字の比較に基づいて、 |
使用> =より大きいか決意に等しいです | スコア> = 80 | 名前> = 'ABC' | |
使用<未満の分析 | スコア<80 | 名前<= 'ABC' | |
使用<=より小さいか決意に等しいです | スコア<= 80 | 名前<= 'ABC' | |
使用<>等しくない分析 | スコア<> 80 | 名前<> 'ABC' | |
同様のLIKEを使用して決定 | name LIKE 'ab%' | name LIKE '%bc%' | %表示任意字符,例如'ab%'将匹配'ab','abc','abcd' |