sql >> Database teknologi >  >> RDS >> Database

SQL WHERE Flere betingelser

I dette emne vil vi lære, hvordan du tilføjer flere betingelser ved hjælp af WHERE-sætningen.

Lad os først forstå begrebet WHERE-klausul.

WHERE-sætning bruges til at angive en betingelse, mens der hentes poster fra en tabel.

WHERE-sætning bruges generelt med SELECT-sætning i SQL

SELECT-forespørgslen viser kun de poster, der opfylder betingelsen specificeret i WHERE-sætningen

Der kan være en eller mere end én betingelse angivet i WHERE-sætningsbetingelsen for en SELECT-forespørgsel.

AND- og OR-operatorerne bruges til at kontrollere flere betingelser ved hjælp af WHERE-sætningen i en enkelt forespørgsel.

  • AND operator med WHERE-sætning

Når AND-operatoren bruges mellem betingelserne med WHERE-klausulen for at kontrollere flere betingelser i SELECT-forespørgslen, vises resultaterne, når kun mere end én betingelse i forespørgslen er opfyldt.

Syntaks:

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

Eksempel 1:

Overvej elevernes tabel nedenfor. Vi vil overveje den samme tabel for alle de følgende eksempler.

Student_RollNo Student_Name Student_Køn Student_MobileNumber Student_Hjemby Student_Alder Student_Percentage
1 Rohit More Mand 9890786123 Lykke 23 75
2 Kunal Shah Mand 7789056784 Chandigarh 20 68
3 Kartik Goenka Mand 9908743576 Ahemdabad 22 92
4 Anupama Shah Kvinde 8890907656 Chandigarh 24 94
5 Snehal Jain Kvinde 8657983476 Surat 21 94

Lad os nu se nogle få eksempler for at forstå dette koncept praktisk.

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

Output:

Der er kun én rekord i elevtabellen med rulle nummer 2, som har køn som mand og hjemby som Chandigarh. Selvom en af ​​de specificerede betingelser ikke er opfyldt, vil outputtet i så fald ikke være det samme. De viste poster/poster vil være anderledes, eller i nogle tilfælde kan outputtet være et tomt sæt, hvis ingen post opfylder begge betingelser.

Eksempel 2:

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

Output:

Der er kun én post med rullenummer '5' i elevtabellen, som har en alder svarende til '21' og procentdel lig med '94'.

Eksempel 3:

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

Output:

Blandt alle posterne i elevtabellen er der kun én post med rullenummer '4', som har køn som 'mand', hjembyen som 'Chandigarh', og alder er lig med '24'. Dette er den eneste rekord, der opfylder alle tre betingelser.

Eksempel 4:

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

Output:

Blandt alle posterne i elevtabellen er der kun én post med rullenummer '3', hvor alle tre betingelser er opfyldt, dvs. køn som mand, navn er lig med 'Kartik Goenka' og procent er lig med '92'.

  • ELLER operator med WHERE-sætning

Når OR-operatoren bruges mellem betingelserne med WHERE-sætningen for at kontrollere flere betingelser i SELECT-forespørgslen, vises resultaterne, når mindst én betingelse er opfyldt blandt alle de andre betingelser, der er skrevet i en forespørgsel.

Syntaks:

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

Eksempel 1:

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

Output:

I elevtabellen er der fire poster med rullenummer 1, 2, 3 og 4, som har køn som mand eller hjemby som Chandigarh. Selv hvis nogen specificerede betingelser er opfyldt, vil denne post blive betragtet som en del af outputtet. I nogle tilfælde kan outputtet være et tomt sæt, hvis ingen post opfylder nogen af ​​betingelserne.

Eksempel 2:

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

Output:

Der er to rekorder, der ruller numre '4' og '5' i elevtabellen, som enten har en alder svarende til '21' eller en procentdel lig med '94'.

Eksempel 3:

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

Output:

Blandt alle posterne i elevtabellen er der tre plader med rullenummer '2', '4' og '5', som har begge køn som 'kvinde'; hjemby som 'Chandigarh' eller alder er lig med '24'. Dette er de optegnelser, der opfylder en af ​​de tre betingelser.

Eksempel 4:

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

Output:

Blandt alle posterne i elevtabellen er der tre poster med rullenummer '1', '2' og '3', hvor en af ​​de tre betingelser er opfyldt, dvs. køn som mand, navn er lig med 'Kartik Goenka' eller procent er lig med '92'.

  • AND- og OR-operator med WHERE-sætning i en enkelt forespørgsel

I WHERE-sætningsforespørgsel med en SELECT-sætning kan vi også bruge en kombination af AND- og OR-operatorer i en enkelt forespørgsel. Formålet med at bruge kombinationerne af OG- og ELLER-operatorer i en enkelt forespørgsel er at teste det højere niveau af komplicerede forhold.

Syntaks:

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

Eksempel 1:

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

Output:

Ifølge betingelserne i en forespørgsel skal posten have køn som 'kvinde' og hjemby som 'Chandigarh'. Elevens alder kan være '24' eller ej. Så der er kun én plade med rullenummer '4', som opfylder disse betingelser. Selv hvis en plade har køn som "kvinde" og hjemby, bortset fra "Chandigarh" eller omvendt, vil denne post ikke blive taget i betragtning i output.

Eksempel 2:

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

Output:

Ifølge betingelserne i en forespørgsel skal posten have enten køn som 'kvinde' eller hjemby som 'Chandigarh'. Elevens alder bør ikke være anden end '24'. Så der er to plader med rullenummer '4' og '5', som opfylder disse betingelser.

Eksempel 3:

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

Output:

Der er kun én post i elevtabellen med køn som 'mand', hjembyen som 'Lucknow' og procentdelen af ​​eleven skal være '75'. En elevs alder kan være 23 eller andet end 23.

Eksempel 4:

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

Output:

I elevtabellen er der tre poster, som har køn som 'mand' og alder som '23'. Hjembyen er måske eller måske ikke 'Lucknow'. Desuden kan procentdelen muligvis være '75'.


  1. Oracle:Konverter valutabeløb i ord ved hjælp af PL/SQL

  2. Mysql-dækkende vs sammensat vs kolonneindeks

  3. Kører serveren på host localhost (::1) og accepterer TCP/IP-forbindelser på port 5432?

  4. Hvornår skal man bruge nedarvede tabeller i PostgreSQL?