SQL 'Is Not Null' -operaattori

Sql Is Not Null Operaattori



SQL:ssä voimme käyttää IS NOT NULL -operaattoria suodattamaan tulokset tietokantataulukosta, jossa tietyn sarakkeen arvo ei ole nolla. Tämä voi auttaa varmistamaan, että saat puhtaat tiedot, jotka eivät sisällä puuttuvia arvoja, mikä voi aiheuttaa ongelmia erityisesti funktioissa, jotka eivät käsittele NULL-arvoja.

NULL-arvo viittaa sellaisten tietojen puuttumiseen, jotka eivät sisällä tyhjiä merkkijonoja, numeerista nollaa tai NaN:ää.







Tässä opetusohjelmassa opimme, kuinka voimme käyttää IS NOT NULL -operaattoria suodattamaan pois tulokset, jotka sisältävät NULL-arvoja tietyssä kyselyssä.



Syntaksi:

Voimme ilmaista IS NOT NULL -ehdon perussyntaksin seuraavan koodinpätkän mukaisesti:



VALITSE sarake1, sarake2, ...
FROM taulukon_nimi
WHERE sarakkeen_nimi EI OLE NULL;


Aloitamme 'select'-avainsanalla ja määritämme tulosjoukossa sarakkeet, jotka haluamme noutaa, ja sen jälkeen sen taulukon nimen, josta haluamme hakea tiedot.





Seuraavaksi käytämme WHERE-lausetta ottamaan käyttöön tiettyyn sarakkeeseen perustuvan tietojen suodatuksen. Lopuksi määritämme ehdon, jolla haluamme suodattaa.

Esimerkki 1:

Katsotaanpa joitain esimerkkejä siitä, kuinka voimme käyttää IS NOT NULL -ehtoa tulosten suodattamiseen.



Harkitse Sakilan mallitietokantaa, joka on ladattavissa ilmaiseksi viralliselta MySQL-sivulta.

Oletetaan, että haluamme noutaa niiden asiakkaiden nimet, joiden 'sukunimi' ei ole yhtä suuri kuin null. Voimme käyttää kyselyä seuraavassa esitetyllä tavalla tämän saavuttamiseksi:

valitse
*
alkaen
asiakas c
missä
sukunimi ei ole tyhjä;


Tässä tapauksessa kysely palauttaa kaikki asiakastaulukon rivit, joissa sarakkeen 'last_name' arvo ei ole tyhjä.

Esimerkki 2: AND- ja OR-operaattorit

Voimme yhdistää IS NOT NULL -ehdon muihin ehtoihin käyttämällä AND- ja OR-operaattoreita. Tämä luo rakeisemman suodatuksen.

Oletetaan esimerkiksi, että haluamme hakea asiakkaat, joiden 'sukunimi' ei ole tyhjä ja joiden etunimi on Nancy tai Holly.

Voimme käyttää kyselyä seuraavassa esitetyllä tavalla:

VALITSE
Asiakas ID,
etunimi,
sukunimi,
sähköposti
FROM
asiakas
MISSÄ
sukunimi EI OLE NULL
JA ( etunimi = 'Nancy'
TAI etunimi = 'Holly' ) ;


Tässä kyselyssä yhdistämme IS NOT NULL -ehdon AND- ja OR-operaattorien kanssa suodattaaksemme tietueet, joissa sukunimi ei ole tyhjä tai etunimi on yhtä suuri kuin Nancy tai Holly.

Tuloksena oleva tulos on seuraava:


Kuten näet, tämä tarjoaa tavan suorittaa tarkempi ja pienimuotoisempi suodatus kohdetiedoille.

Esimerkki 3: Aggregaattifunktioiden käyttäminen

Voimme myös käyttää IS NOT NULL -funktiota yhdessä SQL-koontifunktioiden kanssa. Voimme esimerkiksi käyttää sitä count()-funktion kanssa laskeaksemme ei-nolla-arvojen määrän tietyssä sarakkeessa.

Oletetaan esimerkiksi, että haluamme määrittää niiden asiakkaiden määrän, joiden sähköpostiosoite ei ole tyhjä. Voimme käyttää kyselyä seuraavasti:

VALITSE
KREIVI ( Asiakas ID ) AS yhteensä
FROM
asiakas
MISSÄ
sähköposti EI OLE NULL;


Tämän pitäisi palauttaa sarakkeen ei-nolla-arvojen lukumäärä numeerisena arvona seuraavasti:

kaikki yhteensä |
-----+
599 |

Johtopäätös

Tässä opetusohjelmassa opimme kaiken IS NOT NULL -ehdosta SQL:ssä suodattaaksemme tyhjät arvot tietystä tulosjoukosta tai tietokantataulukosta. Opimme myös kuinka voimme luoda monimutkaisempaa suodatusta yhdistämällä IS NOT NULL -ehtoa muihin ehtoihin käyttämällä AND- ja OR-operaattoreita.