MySQLは複数の条件どこから選択します

たぶん、最も使用されるのMySQLの一つがSELECTであるコマンド、それがデータベースから情報をstractするための方法ですが、もちろん1があり、したがって、1がテーブルから出てくる情報を制限する必要があり、データベース内のすべての情報を必要としません。文は1が一定の条件に準拠して一つだけにデータを制限することができ、それとともに、出番です。どのようなことがまだ広すぎます?。そして、それは、複数の条件を使用することができます。ここではいくつかのオプション:

二つの条件を使用した作業

使用して2つ以上の条件でクエリがあなたのニーズを満たすために狭くすることができます。

SELECT * FROM table WHERE column1 = 'var1' AND column2 = 'var2';

2つの条件が満たされた場合にのみ、行がデータベースのテーブルからstractedれます。それらのいずれかがデータを取得するために満たされる必要がある場合はどう?

SELECT * FROM table WHERE column1 = 'var1' OR column2 = 'var2';

使用または1つのまたは両方の条件が満たされた場合にデータを返すためにMySQLを教えてくれます。

以上の二つの条件を使用した作業

以上の2つの条件が結果を表示するために満たす必要がある場合は、必要に応じて括弧と巣の条件を使用する必要があります。今回はそれが例と容易になります。

この表を考えてみます。

+------------+-----------+--------+-----+
| fname      | lname     | gender | age |
+------------+-----------+--------+-----+
| John       | Smith     | M      | 30  |
+------------+-----------+--------+-----+
| Jane       | Doe       | F      | 20  |
+------------+-----------+--------+-----+
| Richard    | Stallman  | M      | 70  |
+------------+-----------+--------+-----+
| John       | Doe       | M      | 20  |
+------------+-----------+--------+-----+

あなたが取得したい場合は、すべての若い男性の名は、このクエリを使用しています。

SELECT * FROM table WHERE gender = M AND age >=  '18' AND age <= '50';

あなたは姓がDoeやスミスを持つすべての若者を取得したい場合は、このクエリを使用します。

SELECT * FROM table WHERE age >= '18' AND age <= '50' AND (lname = 'Doe' OR lname = 'Smith');

あなたが見ることができるように、我々は、年齢範囲からの結果と名からの結果を結合するために、最後の名前から結果を得るために、括弧を使用している、あなたはどちらか一方をしたいので、あなたが使う年齢層を得るために、最終的にAND。

SELECT unique_id,COUNT(unique_id) FROM yourtblname GROUP BY unique_id HAVING COUNT(unique_id) >1

おすすめ

転載: www.cnblogs.com/kzwrcom/p/11592430.html