Introduksjon til WHERE-ledd

Som vi alle vet at SQL (Structured Query Language) er et av de mest brukte språkene for relasjonsdatabaser (database der poster lagres i form av rader og kolonner). I SQL blir spørsmål avfyrt for å treffe databasen for å utføre ønskede operasjoner, det være seg DML (Data Manipulation Language), DDL (Data Definition Language) eller DCL (Data Control Language). SQL bruker noen klausuler som WHERE, GROUP BY, HAVING, ORDER BY som utfører spesifikke operasjoner. WHERE-leddet brukes til å anvende forhold og filtrere ut resultater mens du henter inn eller manipulerer data fra databasen. Den brukes med SELECT, UPDATE og DELETE-setningen, og WHERE-leddet er valgfritt å brukes med dem.

Generelt vilkår, WHERE-ledd,

  • Brukes til å filtrere radene i henhold til de gitte kriteriene.
  • Begrenser antall returnerte rader.
  • Etterfulgt av en logisk tilstand som returnerer enten sant eller usant.
  • Fungerer bare hvis den nevnte tilstanden går igjen.
  • Det kan brukes med SELECT, UPDATE eller DELETE utsagn.

1. Syntaks med VELG

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

Her vil SELECT hente alle dataene til kolonne1, kolonne2, kolonne3 fra tabellen (navngitt som tabellnavn) og WHERE-leddet gjelder betingelsene for dataene som er hentet av SELECT-setningen og filtrere det i henhold til tilstanden som er nevnt i utsagnet.

2. Syntaks med UPDATE

UPDATE table_name SET column_name = value WHERE condition;

Her vil Update oppdatere verdien for column_name med oppgitt hvor tilstand.

Sammenligning og logiske operatører kan også brukes med WHERE-tilstand som og, eller, ikke, LIKE, <, =, etc.

3. Syntaks med SLETT

DELETE from table_name WHERE condition;

I syntaks over:

table_nameNavn på tabellen som operasjoner må utføres på.
betingelseAngir filtertilstanden som postene må filtreres på
column_listNavn på kolonnene i tabellen

eksempler

Tenk på en elevtabell som har forskjellige kolonner og verdier nevnt nedenfor:

Stu_idStu_nameStu_addressStu_phnoStu_percentage
1RahulAgra955780662585
2AnkitDelhi885566447175
3ShailendraNoida721345789692

Scenario nr. 1

Hent student-ID, studentnavn, adresse og prosentandel av alle studentene som scoret mer enn 80 prosent.

Spørsmål

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

Resultat:

Antall poster: 2

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra85
3ShailendraNoida92

Scenario nr. 2

Oppdater prosentandelen av Rahul med 2 prosent.

Spørsmål

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

Resultat:

Berørte rader: 1

Hvis vi treffer spørringen for å se de oppdaterte feltene:

Spørsmål

SELECT * from students WHERE Stu_name ='Rahul';

Resultat:

Antall poster: 1

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra87

Scenario nr. 3

Student Ankit har forlatt skolen, så slett hele posten til ham fra bordet.

Spørsmål

DELETE from students WHERE Stu_name = 'Ankit';

Resultat:

Berørte rader: 1

Slik viser du den oppdaterte bordstudenten:

Spørsmål

SELECT * from students;

Resultat:

Berørte rader: 2

Stu_idStu_nameStu_addressStu_phnoStu_percenta ge
1RahulAgra955780662587
3ShailendraNoida721345789692

HVOR klausul Drift

WHERE-klausulen inneholder betingelsene som databaseverdiene blir filtrert på. Ulike operatører kan brukes med WHERE-leddet. Noen av dem er gitt nedenfor i tabellen med et eksempel:

S.No.OperatørBeskrivelseEksempel
1.OGReturnerer sann hvis begge forholdene stemmerVELG * fra studenter HVOR Stu_name = 'Rahul' og Stu_percentage = 85;
2.ELLERReturnerer sann hvis en av

tilstand kamper

VELG * fra studenter HVOR Stu_name = 'Rahul' eller Stu_name = 'Shalendra';
3.IVerdien samsvarer med en av de angitte flere verdieneVELG * fra studenter HVOR Stu_city IN ('AGRA', 'NOIDA');
4.IKKE IVerdien samsvarer ikke med noen av de angitte flere verdieneVELG * fra studenter HVOR Stu_city NOT IN ('AGRA', 'NOIDA');
5.=LikVELG * fra studenter HVOR

Stu_name = 'Rahul';

6.>Større ennVELG * fra studenter HVOR Stu_percentage> 80;
7.<Mindre ennVELG * fra studenter HVOR Stu_percentage <78;
8.> =Større enn eller likVELG * fra studenter HVOR Stu_percenetage> = 70;
9.<=Mindre enn eller likVELG * fra studenter HVOR Stu_percenetage <= 70;
10.Ikke likVELG * fra studenter HVOR Stu_percentage 75;
11.MELLOMVerdien ligger mellom et bestemt områdeVELG * fra studenter HVOR

Stu_percentage MELLOM 70 OG 85;

12.SOMVerdier samsvarer med et bestemt mønster. Brukes til å utføre jokersøkVELG * fra studenter HVOR Stu_city LIKE 'AG%';

Merk: Det er en ting som må huskes når du arbeider med WHERE-leddet, er at mens du spesifiserer tilstanden, blir ikke numeriske verdier sitert i enkelt sitater (''), mens tekstverdier (varchar) trenger å bli sitert i enkelt sitater ('').

Hvordan fungerer WHERE-leddet i SQL?

Selv om eksemplene ovenfor viser tydelig hvordan WHERE-leddet brukes til å filtrere dataene i henhold til betingelsen som er spesifisert av brukeren og tillater raskere utførelse av SQL-kode ettersom antall returnerte poster er begrenset av betingelsen. SQL Query optimizer fungerer først på spørringen ved å bruke FROM (tabell som operasjonen må utføres på) for å enten hente, slette eller oppdatere og deretter bruke WHERE-ledd på resultatene.

HVOR-ledd kan bare brukes når vi trenger å filtrere resultatene i en enkelt tabell eller sammenføyning av tabeller, da den fungerer på rader-data, men når det gjelder aggregatfunksjonene, kan HVOR ikke brukes til å anvende betingelser på spørringen.

La oss vurdere scenariet der WHERE-leddet ikke kan brukes:

Scenario: I et "film" -bord kan du hente alle detaljene om filmer som tjener mer enn 10 crores i bestemte år som (2000, 2010, 2012..etc)

Spørsmål:

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

Eksemplet ovenfor bruker HAVING-ledd i stedet for WHERE, fordi WHERE-leddet ikke kan brukes i de samlede funksjonene, mens HAVING kan, og dette er også en av de største forskjellene mellom WHERE og HAVING-leddet

Konklusjon - SQL WHERE klausul

Ovennevnte forklaring viser tydelig bruken av WHERE-leddet og dens implementering for forskjellige scenarier i SQL-spørringer. Før du skriver spørsmål, må man huske på bruken av hver klausul og scenariet der den bestemte klausulen eller nøkkelordet skal brukes.

Anbefalte artikler

Dette er en guide til SQL WHERE-ledd. Her diskuterer vi bruken av WHERE-leddet og dens implementering for forskjellige scenarier. Du kan også gå gjennom andre foreslåtte artikler -

  1. Typer sammenføyninger i SQL
  2. Jokertegn i MySQL
  3. SQL Sett inn spørring
  4. Fremmed nøkkel i SQL
  5. Topp 6 typer sammenføyninger i MySQL med eksempler