Database
 sql >> Datenbank >  >> RDS >> Database

SQL WHERE Mehrere Bedingungen

In diesem Thema erfahren Sie, wie Sie mehrere Bedingungen mithilfe der WHERE-Klausel hinzufügen.

Lassen Sie uns zunächst das Konzept der WHERE-Klausel verstehen.

WHERE-Klausel wird verwendet, um eine Bedingung anzugeben, während Datensätze aus einer Tabelle abgerufen werden.

Die WHERE-Klausel wird im Allgemeinen mit der SELECT-Anweisung in SQL

verwendet

Die SELECT-Abfrage zeigt nur die Datensätze an, die die in der WHERE-Klausel

angegebene Bedingung erfüllen

Es kann eine oder mehrere Bedingungen geben, die in der Bedingung der WHERE-Klausel einer SELECT-Abfrage angegeben sind.

Die AND- und OR-Operatoren werden verwendet, um mehrere Bedingungen mit der WHERE-Klausel in einer einzigen Abfrage zu prüfen.

  • AND-Operator mit WHERE-Klausel

Immer wenn der UND-Operator zwischen den Bedingungen mit der WHERE-Klausel verwendet wird, um mehrere Bedingungen in der SELECT-Abfrage zu prüfen, werden die Ergebnisse angezeigt, wenn nur mehr als eine Bedingung in der Abfrage erfüllt ist.

Syntax:

SELECT *FROM table_name WHERE Condition 1 AND Condition 2 [AND Condition 3];

Beispiel 1:

Betrachten Sie die unten angegebene Studententabelle. Wir betrachten dieselbe Tabelle für alle folgenden Beispiele.

Student_RollNo Schüler_Name Schüler_Geschlecht Student_MobileNumber Student_HomeTown Schüler_Alter Schüler_Prozentsatz
1 Rohit Mehr Männlich 9890786123 Lucknow 23 75
2 Kunal Schah Männlich 7789056784 Chandigarh 20 68
3 Kartik Goenka Männlich 9908743576 Ahemdabad 22 92
4 Anupama Shah Weiblich 8890907656 Chandigarh 24 94
5 Snehal Jain Weiblich 8657983476 Sure 21 94

Sehen wir uns nun einige Beispiele an, um dieses Konzept praktisch zu verstehen.

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Chandigarh";

Ausgabe:

Es gibt nur einen Eintrag in der Studententabelle mit der Rollennummer 2, der das Geschlecht als männlich und die Heimatstadt als Chandigarh hat. Selbst wenn eine der angegebenen Bedingungen nicht erfüllt ist, ist die Ausgabe in diesem Fall nicht dieselbe. Der angezeigte Datensatz/die angezeigten Datensätze sind unterschiedlich, oder in einigen Fällen kann die Ausgabe ein leerer Satz sein, wenn kein Datensatz beide Bedingungen erfüllt.

Beispiel 2:

mysql> SELECT *FROM students WHERE Student_Age = 21 AND Student_Percentage = 94;

Ausgabe:

Es gibt nur einen Datensatz mit der Rollennummer „5“ in der Schülertabelle, der ein Alter von „21“ und einen Prozentsatz von „94“ aufweist.

Beispiel 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" AND Student_Age = 24;

Ausgabe:

Unter allen Datensätzen in der Studententabelle gibt es nur einen Datensatz mit der Rollennummer „4“, der das Geschlecht „männlich“, die Heimatstadt „Chandigarh“ und das Alter „24“ enthält. Dies ist der einzige Datensatz, der alle drei Bedingungen erfüllt.

Beispiel 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND  Student_Name = "Kartik Goenka" AND Student_Percentage = 92;

Ausgabe:

Unter allen Datensätzen in der Studententabelle gibt es nur einen Datensatz mit der Rollennummer „3“, bei dem alle drei Bedingungen erfüllt sind, d. h. Geschlecht als männlich, Name gleich „Kartik Goenka“ und Prozentsatz gleich „92“.

  • ODER-Operator mit WHERE-Klausel

Immer wenn der ODER-Operator zwischen den Bedingungen mit der WHERE-Klausel verwendet wird, um mehrere Bedingungen in der SELECT-Abfrage zu überprüfen, werden die Ergebnisse angezeigt, wenn mindestens eine Bedingung unter allen anderen in einer Abfrage geschriebenen Bedingungen erfüllt ist.

Syntax:

SELECT *FROM table_name WHERE Condition 1 OR Condition 2 [OR Condition 3];

Beispiel 1:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Chandigarh";

Ausgabe:

In der Studententabelle gibt es vier Datensätze mit den Rollennummern 1, 2, 3 und 4, die als Geschlecht männlich oder als Heimatstadt Chandigarh haben. Selbst wenn bestimmte Bedingungen erfüllt sind, wird dieser Datensatz als Teil der Ausgabe betrachtet. In einigen Fällen kann die Ausgabe ein leerer Satz sein, wenn kein Datensatz eine der beiden Bedingungen erfüllt.

Beispiel 2:

mysql> SELECT *FROM students WHERE Student_Age = 21 OR Student_Percentage = 94;

Ausgabe:

Es gibt zwei Datensätze mit den Nummern „4“ und „5“ in der Schülertabelle, die entweder das Alter gleich „21“ oder den Prozentsatz gleich „94“ haben.

Beispiel 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" OR Student_Age = 24;

Ausgabe:

Unter allen Datensätzen in der Schülertabelle gibt es drei Datensätze mit den Rollennummern „2“, „4“ und „5“, die beide Geschlechter als „weiblich“ haben; Heimatstadt als „Chandigarh“ oder Alter gleich „24“. Dies sind die Datensätze, die eine der drei Bedingungen erfüllen.

Beispiel 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR  Student_Name = "Kartik Goenka" OR Student_Percentage = 92;

Ausgabe:

Unter allen Datensätzen in der Schülertabelle gibt es drei Datensätze mit den Rollennummern „1“, „2“ und „3“, bei denen eine der drei Bedingungen erfüllt ist, d. h. Geschlecht als männlich, Name gleich „Kartik Goenka“. oder Prozentsatz gleich '92'.

  • AND- und OR-Operatoren mit WHERE-Klausel in einer einzigen Abfrage

Bei der Abfrage der WHERE-Klausel mit einer SELECT-Anweisung können wir auch eine Kombination aus AND- und OR-Operatoren in einer einzigen Abfrage verwenden. Der Zweck der Verwendung der Kombinationen von AND- und OR-Operatoren in einer einzigen Abfrage besteht darin, die höhere Ebene komplizierter Bedingungen zu testen.

Syntax:

SELECT *FROM table_name WHERE Condition 1 AND/OR Condition 2 [AND/OR Condition 3];

Beispiel 1:

mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" OR Student_Age = 24;

Ausgabe:

Gemäß den Bedingungen in einer Abfrage sollte der Datensatz das Geschlecht „weiblich“ und den Heimatort „Chandigarh“ haben. Das Alter des Schülers kann „24“ sein oder nicht. Es gibt also nur einen Datensatz mit der Rollennummer „4“, der diese Bedingungen erfüllt. Selbst wenn in einem Datensatz das Geschlecht „weiblich“ und ein anderer Heimatort als „Chandigarh“ oder umgekehrt angegeben ist, wird dieser Datensatz bei der Ausgabe nicht berücksichtigt.

Beispiel 2:

SELECT * FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" AND Student_Age = 24;

Ausgabe:

Gemäß den Bedingungen in einer Abfrage sollte der Datensatz entweder das Geschlecht „weiblich“ oder den Heimatort „Chandigarh“ haben. Das Alter des Schülers sollte nicht anders als „24“ sein. Es gibt also zwei Datensätze mit den Rollennummern „4“ und „5“, die diese Bedingungen erfüllen.

Beispiel 3:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Lucknow" OR Student_Age = 23 AND Student_Percentage = 75;

Ausgabe:

Es gibt nur einen Datensatz in der Schülertabelle mit dem Geschlecht „männlich“, der Heimatstadt „Lucknow“ und dem Prozentsatz des Schülers sollte „75“ sein. Das Alter eines Schülers kann 23 oder weniger als 23 betragen.

Beispiel 4:

mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Lucknow" AND Student_Age = 23 OR Student_Percentage = 75;

Ausgabe:

In der Tabelle „Schüler“ gibt es drei Datensätze mit dem Geschlecht „männlich“ und dem Alter „23“. Die Heimatstadt kann „Lucknow“ sein oder auch nicht. Außerdem kann der Prozentsatz "75" sein oder nicht.