Introduktion till WHERE-klausulen

Som vi alla vet att SQL (Structured Query Language) är ett av de mest använda språken för relationsdatabaser (databas där poster sparas i form av rader och kolumner). I SQL-frågor avfyras för att träffa databasen för att utföra önskade operationer, vare sig det är DML (Data Manipulation Language), DDL (Data Definition Language) eller DCL (Data Control Language). SQL använder några klausuler som WHERE, GROUP BY, HAVING, ORDER BY som utför specifika operationer. WHERE-klausulen används för att tillämpa villkor och filtrera bort resultat medan du hämtar eller manipulerar data från databasen. Det används med SELECT, UPDATE och DELETE-uttalandet och WHERE-klausulen är valfri för att användas med dem.

I allmänhet villkor, WHERE-klausulen,

  • Används för att filtrera raderna enligt de angivna kriterierna.
  • Begränsar antalet returnerade rader.
  • Följt av ett logiskt villkor som returnerar antingen sant eller falskt.
  • Fungerar endast om det nämnda villkoret återgår.
  • Det kan användas med SELECT, UPDATE eller DELETE-uttalanden.

1. Syntax med SELECT

SELECT column1, column2, column3… from table_name WHERE condition;

Här kommer SELECT att hämta alla data från kolumn1, kolumn2, kolumn3 från tabellen (benämnd som tabellnamn) och WHERE-klausulen tillämpar villkoren för de data som hämtas med SELECT-sats och filtrerar det enligt villkoret som nämns i uttalandet.

2. Syntax med UPDATE

UPDATE table_name SET column_name = value WHERE condition;

Här kommer Update att uppdatera värdet för kolumnnamnet med angivet där villkor.

Jämförelse och logiska operatörer kan också användas med WHERE-tillstånd som och, eller, inte, LIKE, <, =, etc.

3. Syntax med DELETE

DELETE from table_name WHERE condition;

I ovanstående syntax:

tabellnamnNamn på tabellen som operationerna behöver utföras på.
tillståndAnger filtervillkoret för vilka poster måste filtreras
column_listNamn på tabellens kolumner

exempel

Tänk på en elevtabell med olika kolumner och värden som nämns nedan:

Stu_idStu_nameStu_addressStu_phnoStu_percentage
1RahulAgra955780662585
2Ankitdelhi885566447175
3ShailendraNoida721345789692

Scenario 1

Hämta student-id, studentens namn, adress och procentandel av alla de studenter som fick mer än 80 procent.

Fråga

SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;

Resultat:

Antal poster: 2

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra85
3ShailendraNoida92

Scenario nr 2

Uppdatera procenten av Rahul med 2 procent.

Fråga

UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';

Resultat:

Påverkade rader: 1

Om vi ​​träffar frågan för att se de uppdaterade fälten:

Fråga

SELECT * from students WHERE Stu_name ='Rahul';

Resultat:

Antal poster: 1

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra87

Scenario nr 3

Student Ankit har lämnat skolan så ta bort hela posten om honom från bordet.

Fråga

DELETE from students WHERE Stu_name = 'Ankit';

Resultat:

Påverkade rader: 1

För att se den uppdaterade bordstudenten:

Fråga

SELECT * from students;

Resultat:

Påverkade rader: 2

Stu_idStu_nameStu_addressStu_phnoStu_percenta ge
1RahulAgra955780662587
3ShailendraNoida721345789692

VAR klausul Verksamhet

WHERE-klausulen innehåller villkoren för vilka databasvärden filtreras. Olika operatörer kan användas med WHERE-klausulen. Några av dem anges nedan i tabellen med ett exempel:

S.No.OperatörBeskrivningExempel
1.OCHReturnerar sant om båda villkoren matcharVÄLJ * från studenter VAR Stu_name = 'Rahul' och Stu_percentage = 85;
2.ELLERReturnerar sant om någon av

villkor matchar

VÄLJ * från studenter VAR Stu_name = 'Rahul' eller Stu_name = 'Shalendra';
3.IVärdet matchar något av de angivna flera värdenaVÄLJ * från studenter VAR Stu_city IN ('AGRA', 'NOIDA');
4.INTE IVärdet matchar inte något av de angivna flera värdenaVÄLJ * från studenter VAR Stu_city NOT IN ('AGRA', 'NOIDA');
5.=LikvärdigVÄLJ * från studenter VAR

Stu_name = 'Rahul';

6.>Större änVÄLJ * från studenter VAR Stu_percentage> 80;
7.<Mindre änVÄLJ * från studenter VAR Stu_percentage <78;
8.> =Större än eller lika medVÄLJ * från studenter VAR Stu_percenetage> = 70;
9.<=Mindre än eller lika medVÄLJ * från studenter VAR Stu_percenetage <= 70;
10.Inte lika medVÄLJ * från studenter VAR Stu_percentage 75;
11.MELLANVärdet ligger mellan ett visst intervallVÄLJ * från studenter VAR

Stu_percentage MELLAN 70 OCH 85;

12.TYCKA OMVärden matchar ett visst mönster. Används för att utföra jokerteckenVÄLJ * från studenter VAR Stu_city LIKE 'AG%';

Obs: Det är en sak som måste komma ihåg när man arbetar med WHERE-klausulen är att samtidigt som du anger villkoret citeras inte numeriska värden i enstaka citat ('') medan textvärden (varchar) måste citeras i enstaka citat (' ').

Hur fungerar WHERE-klausulen i SQL?

Även om ovanstående exempel tydligt visar hur WHERE-klausulen används för att filtrera data enligt det villkor som anges av användaren och tillåter snabbare körning av SQL-kod eftersom antalet returnerade poster begränsas av villkoret. SQL Query optimizer fungerar först på frågan med hjälp av FROM (tabell för vilken operation måste utföras) för att antingen hämta, ta bort eller uppdatera och sedan använda WHERE-klausul på resultaten.

VAR-klausulen kan endast användas när vi behöver filtrera resultaten i en enda tabell eller sammanfoga tabeller eftersom det fungerar på rader data men när det gäller aggregeringsfunktioner kan VAR inte användas för att tillämpa villkor för frågan.

Låt oss överväga scenariot där WHERE-klausulen inte kan användas:

Scenario: I en "film" -tabell, hämta alla detaljer om filmer som tjänar mer än 10 crores under speciella år som (2000, 2010, 2012..etc)

Fråga:

SELECT * from movies GROUP BY Year_released HAVING earnings > 10;

Ovanstående exempel använder HAVING-klausul istället för VAR, eftersom WHERE-klausulen inte kan användas i de sammanlagda funktionerna medan HAVING kan, och detta är också en av de största skillnaderna mellan WHERE och HAVING-klausulen

Slutsats - SQL WHERE-klausul

Ovanstående förklaring visar tydligt användningen av WHERE-klausulen och dess implementering för olika scenarier i SQL-frågor. Innan du skriver en fråga måste man komma ihåg användningen av varje klausul och scenariot där den specifika klausulen eller nyckelordet ska användas.

Rekommenderade artiklar

Detta är en guide till SQL WHERE-klausulen. Här diskuterar vi användningen av WHERE-klausulen och dess implementering för olika scenarier. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Typer av sammanfogningar i SQL
  2. Wildcards i MySQL
  3. SQL Infoga fråga
  4. Utländsk nyckel i SQL
  5. Topp 6 typer av sammanfogningar i MySQL med exempel