Kā lietot SQL `NOT`
SQL NOT ir loģisks operators, kas ļauj efektīvi un precīzi filtrēt meklēšanas rezultātus, izmantojot izslēgšanu. Operators NOT ļauj izslēgt datus, kas neatbilst noteiktam nosacījumam, tādējādi ierobežojot rezultātus tikai ar atbilstošo informāciju.
Kas ir operators SQL NOT?
Līdzīgi kā SQL OR un AND, arī NOT ir viens no loģiskajiem operatoriem SQL, ko var izmantot, lai formulētu nosacījumus un kritērijus datu vaicājumiem. Kamēr operatori AND un OR atgriež datu kopu ierakstus, kas atbilst visiem vai vienam no nosacījumiem, NOT darbojas uz izslēgšanas principa pamata. Tas no meklēšanas rezultātiem izslēdz visu informāciju, kas neatbilst noteiktam nosacījumam.
SQL NOT bieži tiek izmantots kopā ar SELECT, WHERE un SQL HAVING. Jūs varat apvienot NOT ar AND un OR, lai padarītu savu meklēšanu vēl precīzāku. Tādējādi jūs atlasīsiet nevajadzīgos rezultātus.
Kāda ir atšķirība starp SQL NOT, AND un OR?
Galvenās atšķirības starp SQL NOT, AND un OR versiju var apkopot šādi:
SQL NOT |
SQL AND |
SQL OR |
|---|---|---|
| Atgriež tikai tos elementus, kas neatbilst norādītajam nosacījumam | Atgriež ierakstus, kas atbilst visiem norādītajiem nosacījumiem | Atgriež ierakstus, kas atbilst vismaz vienam no norādītajiem nosacījumiem |
| Noliedz nosacījumu, kas nav attiecināms uz meklēšanu | Apvieno nosacījumus, lai sašaurinātu meklēšanu līdz vienībām, kas atbilst vairākiem meklēšanas kritērijiem | Sašaurina meklēšanas rezultātus līdz vienībām, kas atbilst vismaz vienam no vairākiem kritērijiem |
Vēlies padziļināt savas zināšanas par SQL, bet vēl esi iesācējs? Tad iepazīsties ar mūsu SQL ievadu ar piemēriem.
Kāda ir SQL NOT sintakse?
SQL NOT pamata sintakse izskatās šādi:
SELECT *
FROM table
WHERE NOT (searchcriteria)sqlAr NOT var izmantot šādus parametrus:
SELECT: Norāda, kuras ailes jāiekļauj meklēšanā. Lai meklētu visā tabulā, varat izmantot zvaigznīti*. Varat arī norādīt atsevišķas ailes, izmantojot to primāros un ārējos atslēgas.FROM: Norāda tabulu, kurā vēlaties veikt meklēšanu.WHERE: Norāda nosacījumus, kurus vēlaties izmantot, lai sašaurinātu meklēšanu. Šeit varat izmantotNOT.NOT: Kombinējot arWHERE, norādiet, kuri meklēšanas rezultāti nav jāiekļauj.
Ja vēlaties, lai meklēšanas rezultāti būtu vēl precīzāki, varat izmantot arī AND un OR punktu.
SQL NOT kopā ar AND
Jūs varat apvienot NOT ar AND, lai izslēgtu rezultātus, kas atbilst diviem vai vairākiem nosacījumiem.
SELECT *
FROM table
WHERE NOT (condition1 AND condition2)sqlSQL NOT kopā ar OR
Jūs varat apvienot NOT ar OR, lai izslēgtu rezultātus, kas atbilst vismaz vienam nosacījumam.
SELECT *
FROM table
WHERE NOT (condition1 OR condition2)sqlKādam nolūkam izmanto SQL NOT?
SQL NOT ir neskaitāmi pielietojumi vaicājumos un meklējumos. Tie ietver:
- Datu, kas attiecas uz klientiem, pasūtījumiem vai produktiem, izslēgšana pēc reģiona, gada, kategorijas, cenas vai cita raksturlieluma
- Ignorējot datus, kuros ir nederīgas vai trūkstošas vērtības
- Filtrējot finanšu datus, kas neatbilst noteiktiem darījumu kritērijiem
- Izslēdzot datus par darbiniekiem, kuri nestrādā noteiktā nodaļā
- Filtrējot pretendentus, kuriem nav noteiktas kvalifikācijas
SQL piemēri NOT
MekNOT šanas darbības, izmantojot SQL NOT var būt ļoti atšķirīgas atkarībā no NOT lietošanas gadījuma. Izšķirošie faktori ir tas, kā nosacījumu definējat, izmantojot klauzulu WHERE operatoru un citus papildu operatorus. Turpinājumā parādīsim trīs piemērus.
Darbinieku izslēgšana pēc reģiona
Pieņemsim, ka jūs strādājat ar tabulu „Darbinieki” un vēlaties redzēt tikai tos darbiniekus, kuri nedzīvo Apvienotajā Karalistē. Lai to izdarītu, izmantojiet kolonnu „Valsts”, klauzulu WHERE, operatoru NOT un salīdzināšanas operatoru =.
SELECT *
FROM Customers
WHERE NOT (Country = 'UK')sqlVai arī, ja vēlaties redzēt, kuri produkti ir izpārdoti, tas izskatītos līdzīgi:
SELECT *
FROM Products
WHERE NOT (Inventory > 0)sqlKlientu filtrēšana
Šajā piemērā mēs meklēsim klientu grupu, kas neatbilst noteiktiem kritērijiem. Pieņemsim, ka jūs nevēlaties redzēt klientus, kuri ir jaunāki par 30 gadiem un dzīvo Kardifā. Tas izskatītos šādi:
SELECT *
FROM Customers
WHERE NOT (Age < 30 AND City = 'Cardiff')sqlNepietiekami kvalificētu pretendentu atlasīšana
Pieņemsim, ka vēlaties izslēgt visus pretendentus, kuriem nav ne bakalaura grāda, ne vismaz trīs gadu darba pieredzes. Šāda meklēšana izskatītos šādi:
SELECT *
FROM Applicants
WHERE NOT (Degree = ´Bachelor´ OR Experience < 3)sqlKādas ir alternatīvas SQL NOT?
SQL NOT ir vienīgais operators, kas izmanto noliegumu, lai filtrētu meklēšanas kritērijus. Taču, tā kā SQL NOT ir daudzpusīgs SQL operators, to var kombinēt ar dažādām SQL komandām, lai veiktu precīzus vaicājumus. Šīs komandas ietver SQL JOIN un SQL HAVING, piemēram, SQL SUM un AVG. To var kombinēt arī ar salīdzināšanas operatoriem, piemēram, =, > un SQL LIKE, kā arī ar loģiskajiem operatoriem AND un OR.