SQL - WHERE-klausul
SQL WHERE klausul filtrerar rader baserat på ett eller flera villkor så att din fråga returnerar (eller modifierar) endast de poster som matchar. Det används över SELECT UPDATE och DELETE-satser och fungerar med data från en enskild tabell eller från flera tabeller efter joins
Exempel: Först ska vi skapa en demo SQL-databas och tabell där vi kommer att använda kommandot WHERE Clause.
Fråga:
SELECT Name Department Salary
FROM Employees
WHERE Salary > 50000;Produktion:
![]()
Syntax:
SELECT column1 column2
FROM table_name
WHERE column_name operator value;
- kolumn1 kolumn2: Kolumner du vill hämta.
- tabellnamn: Tabell du frågar från.
- operatör: Jämförelselogik (t.ex. = < >SOM).
- värde: Värdet eller mönstret att filtrera mot.
Exempel på WHERE-klausul
Vi kommer att skapa en grundläggande personaltabellstruktur i SQL för att utföra all where-klausuloperation.
Fråga:
SKAPA TABELL Emp1 (
EmpID INT PRIMÄRNYCKEL
Namn VARCHAR(50)
Land VARCHAR(50)
Ålder INT
Mob VARCHAR(15)
);
INSERT I Emp1-VÄRDEN
(1 'Shubham' 'India' 23 '738479734')
(2 'Aman' 'Australien' 21 '436789555')
(3 'Naveen' 'Sri Lanka' 24 '34873847')
(4 'Aditya' 'Österrike' 21 '328440934')
(5 'Nishant' 'Spanien' 22 '73248679');
VÄLJ * FRÅN Emp1;
Produktion:
Exempel 1: Where-klausul med logiska operatorer
För att hämta uppgifter om Anställd med ålder lika med 24.
Fråga:
SELECT * FROM Emp1 WHERE Age=24;Produktion:
![]()
Exempel 2: WHERE med jämförelseoperatörer
För att hämta EmpID-namn och land för anställda med ålder över 21.
Fråga:
SELECT EmpID Name Country FROM Emp1 WHERE Age > 21;Produktion:
![]()
Exempel 3: Where Klausul med MELLAN Operatör
Operatorn BETWEEN används för att filtrera poster inom ett specificerat intervall och inkluderar både start- och slutvärden. I det här exemplet vill vi hitta anställda vars ålder är mellan 22 och 24 inklusive både 22 och 24.
Fråga:
SELECT * FROM Emp1
WHERE Age BETWEEN 22 AND 24;Produktion:
![]()
Exempel 4: Where Klausul med LIKE Operatör
Den används för att hämta filtrerad data genom att söka efter ett visst mönster i where-satsen. I det här exemplet vill vi hitta poster över anställda där Namn börjar med bokstaven. '%'(jokertecken) betecknar de senare tecknen här som kan vara av valfri längd och värde.
Fråga:
SELECT * FROM Emp1 WHERE Name LIKE 'L%';Produktion:
![]()
Exempel 5: Where Klausul med IN Operatör
Det används för att hämta den filtrerade datan på samma sätt som hämtas av '='-operatorn, bara skillnaden är att här kan vi specificera flera värden för vilka vi kan få resultatet. Här vill vi hitta namnen på anställda där åldern är 21 eller 23.
Fråga:
SELECT Name FROM Emp1 WHERE Age IN (2123);Produktion:
![]()
Operatörer som används i WHERE-klausulen
| Operatör | Beskrivning |
|---|---|
| > | Större än |
| >= | Större än eller lika med |
| < | Mindre än |
| <= | Mindre än eller lika med |
| = | Lika med |
| <> | Inte lika med |
| MELLAN | I ett inkluderande sortiment |
| SOM | Sök efter ett mönster |
| I | För att ange flera möjliga värden för en kolumn |