Kuinka käyttää SQL:n `NOT`-operaattoria
SQL NOT on looginen operaattori, joka mahdollistaa hakutulosten tehokkaan ja tarkan suodattamisen poissulkemisen avulla. Voit käyttää NOT jättääksesi pois tiedot, jotka eivät täytä tiettyä ehtoa, ja rajoittaaksesi tulokset vain olennaisiin tietoihin.
Mikä on SQL NOT -operaattori?
SQL-kielessä operaattorit OR, AND ja NOT kuuluvat niihin loogisiin operaattoreihin, joita voidaan käyttää tietokyselyjen ehtojen ja kriteerien muotoiluun. Kun operaattorit AND ja OR palauttavat tietojoukoista ne kohteet, jotka täyttävät kaikki tai yhden ehdon, NOT perustuu poissulkemiseen. Se jättää hakutuloksista pois kaikki tiedot, jotka eivät täytä tiettyä ehtoa.
SQL NOT käytetään usein yhdessä SELECT, WHERE ja SQL HAVING kanssa. Voit yhdistää NOT AND ja OR kanssa, jotta hakusi olisi vielä tarkempi. Näin suodatat pois epäolennaiset tulokset.
Mitä eroa on SQL NOT:llä, AND llä ja OR?
SQL-versioiden NOT, AND ja OR tärkeimmät erot voidaan tiivistää seuraavasti:
SQL NOT |
SQL AND |
SQL OR |
|---|---|---|
| Palauttaa vain kohteet, jotka eivät täytä määritettyä ehtoa | Palauttaa kohteet, jotka täyttävät kaikki määritetyt ehdot | Palauttaa kohteet, jotka täyttävät vähintään yhden määritellyistä ehdoista |
| Kumoaa ehdon, joka ei ole merkityksellinen haulle | Yhdistää ehdot, jotta haku rajataan kohteisiin, jotka vastaavat useita hakuehtoja | Rajoittaa hakutulokset kohteisiin, jotka täyttävät vähintään yhden useista kriteereistä |
Haluatko perehtyä SQL: ään tarkemmin, mutta olet vielä aloittelija? Tutustu sitten esimerkkejä sisältävään SQL-esittelyymme.
Mikä on SQL-lauseen NOT syntaksi?
SQL NOT:n perusrakenteet ovat seuraavat:
SELECT *
FROM table
WHERE NOT (searchcriteria)sqlSeuraavia parametreja voidaan käyttää komennon NOT kanssa:
SELECT: Määrittää, mitkä sarakkeet sisällytetään hakuun. Voit käyttää tähteä*koko taulukon hakemiseen. Voit myös määrittää yksittäisiä sarakkeita niiden ensisijaisten ja viiteavainten avulla.FROM: Määrittää taulukon, josta haluat tehdä haun.WHERE: Määrittää ehdot, joita haluat käyttää haun rajaamiseen. Tässä voit käyttääNOT.NOT: YhdessäWHEREkanssa määritetään, mitkä hakutulokset eivät kuulu hakutuloksiin.
Jos haluat tarkentaa hakutuloksia entisestään, voit käyttää myös AND ja OR.
SQL NOT yhdistettynä versioon AND
Voit yhdistää NOT ja AND sulkeaksesi pois tulokset, jotka täyttävät kaksi tai useampia ehtoja.
SELECT *
FROM table
WHERE NOT (condition1 AND condition2)sqlSQL NOT yhdistettynä OReen
Voit yhdistää NOT ja OR sulkeaksesi pois tulokset, jotka täyttävät vähintään yhden ehdon.
SELECT *
FROM table
WHERE NOT (condition1 OR condition2)sqlMihin SQL NOT käytetään?
SQL NOT:llä on lukemattomia käyttötarkoituksia kyselyissä ja hauissa. Niitä ovat muun muassa:
- Asiakkaihin, tilauksiin tai tuotteisiin liittyvien tietojen suodattaminen alueen, vuoden, luokan, hinnan tai muun ominaisuuden perusteella
- Ohitetaan tiedot, jotka sisältävät virheellisiä tai puuttuvia arvoja
- Suodatetaan talousdata, joka ei täytä tiettyjä transaktiokriteerejä
- Tiettyyn osastoon kuulumattomien työntekijöiden tietojen poissulkeminen
- Suodatetaan pois hakijat, joilla ei ole tiettyjä pätevyyksiä
Esimerkkejä SQL NOT:stä
SQL NOT lla tehtävät haut voivat vaihdella huomattavasti käyttötarkoituksesta riippuen. Ratkaisevia tekijöitä ovat se, miten ehto määritellään WHERE ella, NOT ja muilla valinnaisilla operaattoreilla. Seuraavassa esitellään kolme esimerkkiä.
Työntekijöiden poissulkeminen alueen perusteella
Oletetaan, että työskentelet taulukossa nimeltä ”Employees” ja haluat nähdä vain ne työntekijät, jotka eivät asu Isossa-Britanniassa. Tätä varten käytä ”Country”-saraketta, lauseketta WHERE, operaattoria NOT ja vertailuoperaattoria =.
SELECT *
FROM Customers
WHERE NOT (Country = 'UK')sqlTai jos haluaisit nähdä, mitkä tuotteet ovat loppu varastosta, se näyttäisi tältä:
SELECT *
FROM Products
WHERE NOT (Inventory > 0)sqlAsiakkaiden suodattaminen
Tässä esimerkissä etsimme asiakasryhmää, joka ei täytä tiettyjä ehtoja. Oletetaan, että et halua nähdä asiakkaita, jotka ovat alle 30-vuotiaita ja asuvat Cardiffissa. Hakuehto näyttäisi seuraavalta:
SELECT *
FROM Customers
WHERE NOT (Age < 30 AND City = 'Cardiff')sqlEpäpätevien hakijoiden karsiminen
Oletetaan, että haluat sulkea pois kaikki hakijat, joilla ei ole kandidaatin tutkintoa tai vähintään kolmen vuoden työkokemusta. Hakukriteerit näyttäisivät seuraavalta:
SELECT *
FROM Applicants
WHERE NOT (Degree = ´Bachelor´ OR Experience < 3)sqlMitä vaihtoehtoja SQL NOT:lle on?
SQL NOT on ainoa operaattori, joka käyttää negaatiota hakuehtojen suodattamiseen. Mutta koska SQL NOT on monipuolinen SQL-operaattori, se voidaan yhdistää erilaisiin SQL-komentoihin tarkkojen kyselyjen suorittamiseksi. Näitä komentoja ovat muun muassa SQL JOIN ja SQL HAVING, kuten SQL SUM ja AVG. Se voidaan yhdistää myös vertailuoperaattoreihin, kuten =, > ja SQL LIKE, sekä loogisiin operaattoreihin AND ja OR.