I det här ämnet kommer vi att lära oss hur du lägger till flera villkor med hjälp av WHERE-satsen.
Låt oss först förstå konceptet med WHERE-klausul.
WHERE-satsen används för att ange ett villkor vid hämtning av poster från en tabell.
WHERE-satsen används vanligtvis med SELECT-satsen i SQL
SELECT-frågan visar endast de poster som uppfyller villkoret som anges i WHERE-satsen
Det kan finnas ett eller flera villkor som anges i WHERE-satsvillkoret för en SELECT-fråga.
AND- och OR-operatorerna används för att kontrollera flera villkor med hjälp av WHERE-satsen i en enda fråga.
- AND-operator med WHERE-sats
Närhelst AND-operatorn används mellan villkoren med WHERE-satsen för att kontrollera flera villkor i SELECT-frågan, visas resultaten när bara mer än ett villkor som anges i frågan är uppfyllt.
Syntax:
SELECT *FROM table_name WHERE Condition 1 AND Condition 2 [AND Condition 3];
Exempel 1:
Betrakta elevtabellen nedan. Vi kommer att överväga samma tabell för alla följande exempel.
Student_RollNo | Student_Name | Student_Gender | Student_MobileNumber | Student_Hemstad | Student_Age | Student_Percentage |
1 | Rohit More | Man | 9890786123 | Lucknow | 23 | 75 |
2 | Kunal Shah | Man | 7789056784 | Chandigarh | 20 | 68 |
3 | Kartik Goenka | Man | 9908743576 | Ahemdabad | 22 | 92 |
4 | Anupama Shah | Kvinna | 8890907656 | Chandigarh | 24 | 94 |
5 | Snehal Jain | Kvinna | 8657983476 | Surat | 21 | 94 |
Låt oss nu se några exempel för att förstå detta koncept praktiskt.
mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Chandigarh";
Utdata:
Det finns bara ett rekord i studenttabellen med rulle nummer 2, som har kön som man och hemstad som Chandigarh. Även om något av de angivna villkoren inte är uppfyllt, kommer i så fall inte utmatningen att vara densamma. Posten/posterna som visas kommer att vara olika, eller i vissa fall kan utdata vara en tom uppsättning om ingen post uppfyller båda villkoren.
Exempel 2:
mysql> SELECT *FROM students WHERE Student_Age = 21 AND Student_Percentage = 94;
Utdata:
Det finns bara en post med rullnummer '5' i elevtabellen, som har en ålder som är lika med '21' och en procentandel lika med '94'.
Exempel 3:
mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" AND Student_Age = 24;
Utdata:
Bland alla poster i elevtabellen finns det bara en skiva med rullenummer '4', som har kön som 'man', hemorten som 'Chandigarh' och ålder är lika med '24'. Detta är den enda posten som uppfyller alla tre villkoren.
Exempel 4:
mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_Name = "Kartik Goenka" AND Student_Percentage = 92;
Utdata:
Bland alla poster i elevtabellen finns det bara en post med rullnummer '3' där alla tre villkoren är uppfyllda, d.v.s. kön som man, namn är lika med 'Kartik Goenka' och procent är lika med '92'.
- ELLER operator med WHERE-sats
Närhelst OR-operatorn används mellan villkoren med WHERE-satsen för att kontrollera flera villkor i SELECT-frågan, visas resultaten när minst ett villkor är uppfyllt bland alla andra villkor som skrivs i en fråga.
Syntax:
SELECT *FROM table_name WHERE Condition 1 OR Condition 2 [OR Condition 3];
Exempel 1:
mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Chandigarh";
Utdata:
I elevtabellen finns det fyra poster med rullnummer 1, 2, 3 och 4 som har kön som man eller hemstad som Chandigarh. Även om några specificerade villkor är uppfyllda, kommer den posten att betraktas som en del av utdata. I vissa fall kan utdata vara en tom uppsättning om ingen post uppfyller något av villkoren.
Exempel 2:
mysql> SELECT *FROM students WHERE Student_Age = 21 OR Student_Percentage = 94;
Utdata:
Det finns två posts rullningsnummer '4' och '5' i elevtabellen, som antingen har åldern lika med '21' eller procenten lika med '94'.
Exempel 3:
mysql> SELECT *FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" OR Student_Age = 24;
Utdata:
Bland alla poster i elevtabellen finns tre poster med rullnummer '2', '4' och '5', som har båda könet som 'kvinna'; hemstad som "Chandigarh" eller ålder är lika med "24". Detta är de poster som uppfyller något av de tre villkoren.
Exempel 4:
mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_Name = "Kartik Goenka" OR Student_Percentage = 92;
Utdata:
Bland alla poster i elevtabellen finns det tre poster med rullnummer '1', '2' och '3' där något av de tre villkoren är uppfyllt, d.v.s. kön som man, namn är lika med 'Kartik Goenka' eller procent är lika med '92'.
- AND- och OR-operator med WHERE-sats i en enda fråga
I WHERE-satsfråga med en SELECT-sats kan vi också använda en kombination av AND- och OR-operatorer i en enda fråga. Syftet med att använda kombinationerna av OCH- och ELLER-operatorer i en enda fråga är att testa den högre nivån av komplicerade förhållanden.
Syntax:
SELECT *FROM table_name WHERE Condition 1 AND/OR Condition 2 [AND/OR Condition 3];
Exempel 1:
mysql> SELECT *FROM students WHERE Student_Gender = "Female" AND Student_HomeTown = "Chandigarh" OR Student_Age = 24;
Utdata:
Enligt villkoren i en fråga ska posten ha kön som "kvinna" och hemstad som "Chandigarh". Elevens ålder kan vara "24" eller inte. Så det finns bara en skiva med rullenummer "4", som uppfyller dessa villkor. Även om någon post har kön som "kvinna" och hemstad annan än "Chandigarh" eller vice versa, kommer den posten inte att beaktas i utdata.
Exempel 2:
SELECT * FROM students WHERE Student_Gender = "Female" OR Student_HomeTown = "Chandigarh" AND Student_Age = 24;
Utdata:
Enligt villkoren i en fråga ska posten ha antingen kön som "kvinna" eller hemstad som "Chandigarh". Elevens ålder bör inte vara annan än "24". Så det finns två skivor med rullnummer "4" och "5" som uppfyller dessa villkor.
Exempel 3:
mysql> SELECT *FROM students WHERE Student_Gender = "Male" AND Student_HomeTown = "Lucknow" OR Student_Age = 23 AND Student_Percentage = 75;
Utdata:
Det finns bara en post i elevtabellen med kön som "man", hemorten som "Lucknow" och andelen elev ska vara "75". En elevs ålder kan vara 23 eller annan än 23.
Exempel 4:
mysql> SELECT *FROM students WHERE Student_Gender = "Male" OR Student_HomeTown = "Lucknow" AND Student_Age = 23 OR Student_Percentage = 75;
Utdata:
I elevtabellen finns tre poster som har kön som "man" och ålder som "23". Hemstaden kan vara "Lucknow" eller inte. Dessutom kan procentandelen vara "75".