Johdanto WHERE-lauseeseen
Kuten kaikki tiedämme, SQL (Structured Query Language) on yksi relaatiotietokantojen (tietokanta, johon tietueet tallennetaan rivien ja sarakkeiden muodossa) yleisimmin käytetyistä kielistä. SQL-kyselyissä laukaistaan tietokanta osumaksi haluttujen toimintojen suorittamiseksi, olivatpa ne sitten DML (Data Manipulation Language), DDL (Data Definition Language) tai DCL (Data Control Language). SQL käyttää joitain lauseita, kuten WHERE, GROUP BY, HAVING, ORDER BY, jotka suorittavat tiettyjä toimintoja. WHERE-lauseketta käytetään ehtojen soveltamiseen ja tulosten suodattamiseen haettaessa tai käsittelemällä tietoja tietokannasta. Sitä käytetään SELECT-, UPDATE- ja DELETE-lauseiden kanssa, ja WHERE-lause on valinnainen käytettäväksi heidän kanssaan.
Yleisesti ottaen WHERE-lause,
- Käytetään rivien suodattamiseen annettujen kriteerien mukaisesti.
- Rajoittaa palautettujen rivien määrää.
- Seurataan looginen ehto, joka palauttaa joko tosi tai väärän.
- Toimii vain, jos mainittu tila palaa totta.
- Sitä voidaan käyttää SELECT-, UPDATE- tai DELETE-lauseiden kanssa.
1. Syntaksi SELECT
SELECT column1, column2, column3… from table_name WHERE condition;
Täältä SELECT hakee kaikki sarakkeen 1, sarakkeen 2, sarakkeen 3 tiedot taulukosta (nimeltään taulukon_nimi) ja WHERE-lause soveltaa ehtoja SELECT-käskyn noutamiin tietoihin ja suodattaa ne lauseessa mainittujen ehtojen mukaisesti.
2. Syntaksi UPDATE-sovelluksen kanssa
UPDATE table_name SET column_name = value WHERE condition;
Täällä päivitys päivittää sarakkeen_nimen arvon edellyttäen missä ehto.
Vertailu- ja loogisia operaattoreita voidaan käyttää myös WHERE-olosuhteissa kuten ja, tai, ei, LIKE, <, = jne.
3. Syntaksi poiston kanssa
DELETE from table_name WHERE condition;
Yllä olevassa syntaksissa:
table_name | Taulukon nimi, jossa toimenpiteet on suoritettava. |
kunto | Määrittää suodatusolosuhteet, joissa tietueet on suodatettava |
column_list | Taulukon sarakkeiden nimi |
esimerkit
Harkitse opiskelijataulua, jolla on alla mainitut eri sarakkeet ja arvot:
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percentage |
1 | Rahul | Agra | 9557806625 | 85 |
2 | Ankit | Delhi | 8855664471 | 75 |
3 | Shailendra | Noida | 7213457896 | 92 |
Skenaario # 1
Hae opiskelijan tunnus, opiskelijan nimi, osoite ja prosentuaalinen osuus kaikista opiskelijoista, jotka saivat yli 80 prosenttia.
tiedustelu
SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;
Tulos:
Levyjen lukumäärä: 2
Stu_id | Stu_name | Stu_address | Stu_percentage |
1 | Rahul | Agra | 85 |
3 | Shailendra | Noida | 92 |
Skenaario 2
Päivitä Rahulin prosenttiosuus 2 prosentilla.
tiedustelu
UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';
Tulos:
Vaikuttavat rivit: 1
Jos osumme kyselyyn nähdäksesi päivitetyt kentät:
tiedustelu
SELECT * from students WHERE Stu_name ='Rahul';
Tulos:
Levyjen lukumäärä: 1
Stu_id | Stu_name | Stu_address | Stu_percentage |
1 | Rahul | Agra | 87 |
Skenaario 3
Opiskelija Ankit on lähtenyt koulusta, joten poista hänestä koko tietue taulukosta.
tiedustelu
DELETE from students WHERE Stu_name = 'Ankit';
Tulos:
Vaikuttavat rivit: 1
Päivitetyn taulukon opiskelijan tarkasteleminen:
tiedustelu
SELECT * from students;
Tulos:
Vaikuttavat rivit: 2
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percenta ge |
1 | Rahul | Agra | 9557806625 | 87 |
3 | Shailendra | Noida | 7213457896 | 92 |
Missä lauseke Toiminnot
WHERE-lause sisältää ehdot, joilla tietokannan arvot suodatetaan. WHERE-lausekkeella voidaan käyttää erilaisia operaattoreita. Jotkut niistä on annettu alla taulukossa esimerkillä:
S.No. | operaattori | Kuvaus | esimerkki |
1. | JA | Palauttaa arvon true, jos molemmat ehdot vastaavat | VALITSE * opiskelijoilta, JOS Stu_name = 'Rahul' ja Stu_percentage = 85; |
2. | TAI | Palauttaa arvon true, jos jompikumpi
ehto vastaa | VALITSE * opiskelijoilta Missä Stu_name = 'Rahul' tai Stu_name = 'Shalendra'; |
3. | SISÄÄN | Arvo vastaa mitä tahansa määritetyistä arvoista | VALITSE * opiskelijoilta, missä Stu_city IN ('AGRA', 'NOIDA'); |
4. | EI MUKANA | Arvo ei vastaa yhtäkään määritetyistä arvoista | VALITSE * opiskelijoilta, JOS Stu_city EI OLE ('AGRA', 'NOIDA'); |
5. | = | Yhtä suuri | VALITSE * opiskelijoilta missä
Stu_name = 'Rahul'; |
6. | > | Suurempi kuin | VALITSE * opiskelijoilta, missä Stu_prosentti> 80; |
7. | < | Vähemmän kuin | VALITSE * opiskelijoilta, jos Stu_prosentti <78; |
8. | > = | Suurempi tai yhtä suuri kuin | VALITSE * opiskelijoilta, missä Stu_percenetage> = 70; |
9. | <= | Pienempi kuin tai yhtä suuri kuin | VALITSE * opiskelijoilta, missä Stu_percenetage <= 70; |
10. | Ei sama kuin | VALITSE * opiskelijoilta, missä Stu_percentage 75; | |
11. | VÄLILLÄ | Arvo on tietyn alueen välillä | VALITSE * opiskelijoilta missä
Stu_prosentti välillä 70 ja 85; |
12. | KUTEN | Arvot vastaavat tiettyä mallia. Käytetään yleismerkkien hakuun | VALITSE * opiskelijoilta, JOS Stu_city NIKKO 'AG%'; |
Huomaa: On yksi asia, joka on pidettävä mielessä WHERE-lauseen kanssa työskennellessä, että kun ehtoa määritetään, numeerisia arvoja ei ilmoiteta yksittäisissä lainausmerkeissä (''), kun taas tekstiarvoja (varchar) on lainattava yhtenä lainausmerkit ('').
Kuinka WHERE-lause toimii SQL: ssä?
Vaikka yllä olevat esimerkit osoittavat selvästi, kuinka WHERE-lauseketta käytetään tietojen suodattamiseen käyttäjän määrittelemän ehdon mukaisesti, ja se sallii SQL-koodin nopeamman suorittamisen, koska ehto rajoittaa palautettujen tietueiden lukumäärää. SQL Query -optimointityökalu toimii ensin kyselyssä käyttämällä FROM-taulukkoa (taulukko, johon operaatio on suoritettava) joko noutaa, poistaa tai päivittää ja soveltaa sitten WHERE-lauseketta tuloksiin.
WHERE-lauseketta voidaan käyttää vain silloin, kun tulokset on suodatettava yhdessä taulukossa tai taulukoiden yhdistämisessä, koska se toimii rivitiedoissa, mutta kun Aggregate-toimintojen tapauksessa WHERE: tä ei voida käyttää ehtojen soveltamiseen kyselyyn.
Tarkastellaan tilannetta, jossa WHERE-lauseketta ei voida käyttää:
Skenaario: Hae 'elokuvat' -taulukosta kaikki elokuvien yksityiskohdat, jotka ansaitsevat yli 10 croreaa tiettyinä vuosina, kuten (2000, 2010, 2012..etc)
kysely:
SELECT * from movies GROUP BY Year_released HAVING earnings > 10;
Yllä olevassa esimerkissä käytetään HAVING-lauseketta WHERE: n sijasta, koska WHERE-lauseketta ei voida käyttää kokonaisfunktioissa, kun taas HAVING voi ja tämä on myös yksi suurimmista eroista WHERE- ja HAVING-lausekkeen välillä
Johtopäätös - SQL WHERE -lause
Yllä oleva selitys osoittaa selvästi WHERE-lauseen käytön ja sen toteutuksen erilaisissa skenaarioissa SQL-kyselyissä. Ennen kyselyn kirjoittamista on pidettävä mielessä jokaisen lauseen käyttö ja skenaario, jossa kyseistä lauseketta tai avainsanaa tulisi käyttää.
Suositellut artikkelit
Tämä on opas SQL WHERE -lauseeseen. Tässä keskustellaan WHERE-lauseen käytöstä ja sen toteuttamisesta eri skenaarioissa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -
- SQL-liittymien tyypit
- Jokerimerkit MySQL: ssä
- SQL-lisäyskysely
- Vieras avain SQL: ssä
- MySQL: n kuusi suosittua liittymistyyppiä ja esimerkkejä