SQLWHERElauseke suodattaa rivit yhden tai useamman ehdon perusteella, joten kyselysi palauttaa (tai muokkaa) vain vastaavat tietueet. Sitä käytetään SELECT UPDATE- ja DELETE-käskyissä ja se toimii tietojen kanssa yhdestä taulukosta tai useista taulukoista liitosten jälkeen.
Esimerkki: Ensin me teemme luoda demo-SQL-tietokanta ja -taulukko, jossa käytämme WHERE-lausekomentoa.
Kysely:
SELECT Name Department Salary
FROM Employees
WHERE Salary > 50000;
Lähtö:
Syntaksi:
SELECT column1 column2
FROM table_name
WHERE column_name operator value;
- sarake1 sarake2: Sarakkeet, jotka haluat noutaa.
- taulukon_nimi: Taulukko, josta teet kyselyn.
- operaattori: Vertailulogiikka (esim. =< >PITÄÄ).
- arvo: Suodatettava arvo tai kuvio.
Esimerkkejä WHERE-lausekkeesta
Luomme perustyöntekijätaulukkorakenteen SQL kaikkien where-lausetoimintojen suorittamiseen.
Kysely:
LUO TAULU Emp1 (
EmpID INT PRIMARY KEY
Nimi VARCHAR(50)
Maa VARCHAR(50)
Ikä INT
Mob VARCHAR (15)
);
LISÄÄ Emp1-ARVOIHIN
(1 'Shubham' 'India' 23 '738479734')
(2 'Aman' 'Australia' 21 '436789555')
(3 'Naveen' 'Sri Lanka' 24 '34873847')
(4 'Aditya' 'Itävalta' 21 '328440934')
(5 'Nishant' 'Spain' 22 '73248679');
SELECT * FROM Emp1;
Lähtö:
Esimerkki 1: Missä lauseke loogisilla operaattoreilla
24-vuotiaan työntekijän tietueiden hakeminen.
Kysely:
SELECT * FROM Emp1 WHERE Age=24;Lähtö:
Esimerkki 2: WHERE vertailuoperaattoreiden kanssa
Yli 21-vuotiaiden työntekijöiden EmpID-nimen ja maan hakeminen.
Kysely:
SELECT EmpID Name Country FROM Emp1 WHERE Age > 21;Lähtö:
Esimerkki 3: Missä lauseke ja BETWEEN Operaattori
BETWEEN-operaattoria käytetään tietueiden suodattamiseen tietyllä alueella, ja se sisältää sekä alku- että loppuarvot. Tässä esimerkissä haluamme löytää työntekijät, joiden ikä on välillä 22-24, mukaan lukien sekä 22-24-vuotiaat.
Kysely:
SELECT * FROM Emp1
WHERE Age BETWEEN 22 AND 24;
Lähtö:
Esimerkki 4: Missä lauseke, jossa on LIKE Operaattori
Sitä käytetään suodatettujen tietojen hakemiseen etsimällä tiettyä kuviota where-lauseesta. Tässä esimerkissä haluamme löytää työntekijöiden tietueita, joissa Nimi alkaa kirjaimella. '%'(jokerimerkki) tarkoittaa tässä myöhempiä merkkejä, jotka voivat olla minkä pituisia ja arvoisia tahansa.
Kysely:
SELECT * FROM Emp1 WHERE Name LIKE 'L%'; Lähtö:
Esimerkki 5: Missä lauseke IN Operaattori
Sitä käytetään noutamaan suodatetut tiedot samalla tavalla kuin operaattori '=', vain erona on, että tässä voidaan määrittää useita arvoja, joille voimme saada tulosjoukon. Täältä haluamme löytää niiden työntekijöiden nimet, joiden ikä on 21 tai 23 vuotta.
Kysely:
SELECT Name FROM Emp1 WHERE Age IN (2123);Lähtö:
WHERE-lauseessa käytetyt operaattorit
| Operaattori | Kuvaus |
|---|---|
| > | Suurempi kuin |
| >= | Suurempi tai yhtä suuri kuin |
| < | Vähemmän kuin |
| <= | Pienempi tai yhtä suuri kuin |
| = | Yhtä |
| <> | Ei yhtä suuri kuin |
| VÄLILLÄ | Kattavassa valikoimassa |
| PITÄÄ | Etsi malli |
| IN | Voit määrittää useita mahdollisia arvoja sarakkeelle |