SQL'enWHEREklausul filtrerer rækker baseret på en eller flere betingelser, så din forespørgsel returnerer (eller ændrer) kun de poster, der matcher. Det bruges på tværs af SELECT UPDATE og DELETE-sætninger og fungerer med data fra en enkelt tabel eller fra flere tabeller efter joins
Eksempel: Først vil vi skabe en demo SQL-database og -tabel, hvorpå vi vil bruge WHERE-klausul-kommandoen.
Forespørgsel:
SELECT Name Department Salary
FROM Employees
WHERE Salary > 50000;
Produktion:
Syntaks:
SELECT column1 column2
FROM table_name
WHERE column_name operator value;
- kolonne 1 kolonne 2: Kolonner du vil hente.
- tabelnavn: Tabel du forespørger fra.
- operatør: Sammenligningslogik (f.eks. =< >LIGESOM).
- værdi: Værdien eller mønsteret, der skal filtreres efter.
Eksempler på WHERE-klausul
Vi vil skabe en grundlæggende medarbejdertabelstruktur i SQL for at udføre alle where-klausul-handlinger.
Forespørgsel:
OPRET TABEL Emp1 (
EmpID INT PRIMÆR NØGLE
Navn VARCHAR(50)
Land VARCHAR(50)
Alder INT
Mob VARCHAR(15)
);
INDSÆT I Emp1-VÆRDIER
(1 'Shubham' 'India' 23 '738479734')
(2 'Aman' 'Australia' 21 '436789555')
(3 'Naveen' 'Sri Lanka' 24 '34873847')
(4 'Aditya' 'Østrig' 21 '328440934')
(5 'Nishant' 'Spanien' 22 '73248679');
VÆLG * FRA Emp1;
Produktion:
Eksempel 1: Where-klausul med logiske operatører
For at hente registreringer af Medarbejder med en alder svarende til 24.
npm ryd cache
Forespørgsel:
SELECT * FROM Emp1 WHERE Age=24;Produktion:
Eksempel 2: WHERE med sammenligningsoperatører
For at hente EmpID-navn og land for medarbejdere med en alder over 21.
Forespørgsel:
SELECT EmpID Name Country FROM Emp1 WHERE Age > 21;Produktion:
Eksempel 3: Hvor Klausul med MELLEM Operatør
BETWEEN-operatoren bruges til at filtrere poster inden for et specificeret interval, og den inkluderer både start- og slutværdier. I dette eksempel ønsker vi at finde medarbejdere, hvis alder er mellem 22 og 24, inklusive både 22 og 24.
Forespørgsel:
SELECT * FROM Emp1
WHERE Age BETWEEN 22 AND 24;
Produktion:
Eksempel 4: Hvor klausul med LIKE Operatør
Det bruges til at hente filtrerede data ved at søge efter et bestemt mønster i where-sætningen. I dette eksempel ønsker vi at finde optegnelser over medarbejdere, hvor Navn starter med bogstavet. '%'(jokertegn) angiver de senere tegn her, som kan have en hvilken som helst længde og værdi.
Forespørgsel:
SELECT * FROM Emp1 WHERE Name LIKE 'L%'; Produktion:
forekomst af
Eksempel 5: Hvor klausul med IN Operatør
Det bruges til at hente de filtrerede data på samme måde som hentet af '='-operatoren, bare forskellen er, at her kan vi angive flere værdier, som vi kan få resultatet sat for. Her ønsker vi at finde navnene på medarbejdere, hvor alder er 21 eller 23.
Forespørgsel:
SELECT Name FROM Emp1 WHERE Age IN (2123);Produktion:
Operatører brugt i WHERE-klausul
| Operatør | Beskrivelse |
|---|---|
| > | Større end |
| >= | Større end eller lig med |
| < | Mindre end |
| <= | Mindre end eller lig med |
| = | Lige til |
| <> | Ikke lig med |
| MELLEM | I et inkluderende sortiment |
| LIGESOM | Søg efter et mønster |
| I | For at angive flere mulige værdier for en kolonne |