SQL NOT ir loģisks operators, kas ļauj efektīvi un precīzi filtrēt mek­lē­ša­nas re­zul­tā­tus, iz­man­to­jot iz­slēg­ša­nu. Operators NOT ļauj izslēgt datus, kas neatbilst noteiktam no­sa­cī­ju­mam, tādējādi ie­ro­be­žo­jot re­zul­tā­tus tikai ar at­bil­sto­šo in­for­mā­ci­ju.

Kas ir operators SQL NOT?

Līdzīgi kā SQL OR un AND, arī NOT ir viens no lo­ģis­ka­jiem ope­ra­to­riem SQL, ko var izmantot, lai formulētu no­sa­cī­ju­mus un kri­tē­ri­jus datu vai­cā­ju­miem. Kamēr operatori AND un OR atgriež datu kopu ierakstus, kas atbilst visiem vai vienam no no­sa­cī­ju­miem, NOT darbojas uz iz­slēg­ša­nas principa pamata. Tas no mek­lē­ša­nas re­zul­tā­tiem izslēdz visu in­for­mā­ci­ju, kas neatbilst noteiktam no­sa­cī­ju­mam.

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 at­la­sī­siet ne­va­ja­dzī­gos re­zul­tā­tus.

Kāda ir atšķirība starp SQL NOT, AND un OR?

Galvenās at­šķi­rī­bas starp SQL NOT, AND un OR versiju var apkopot šādi:

SQL NOT SQL AND SQL OR
Atgriež tikai tos elementus, kas neatbilst no­rā­dī­ta­jam no­sa­cī­ju­mam Atgriež ierakstus, kas atbilst visiem no­rā­dī­ta­jiem no­sa­cī­ju­miem Atgriež ierakstus, kas atbilst vismaz vienam no no­rā­dī­ta­jiem no­sa­cī­ju­miem
Noliedz no­sa­cī­ju­mu, kas nav at­tie­ci­nāms uz meklēšanu Apvieno no­sa­cī­ju­mus, lai sa­šau­ri­nā­tu meklēšanu līdz vienībām, kas atbilst vairākiem mek­lē­ša­nas kri­tē­ri­jiem Sašaurina mek­lē­ša­nas re­zul­tā­tus līdz vienībām, kas atbilst vismaz vienam no vairākiem kri­tē­ri­jiem
Tip

Vēlies pa­dzi­ļi­nāt savas zināšanas par SQL, bet vēl esi iesācējs? Tad ie­pa­zīs­ties 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)
sql

Ar NOT var izmantot šādus pa­ra­met­rus:

  • SELECT: Norāda, kuras ailes jāiekļauj meklēšanā. Lai meklētu visā tabulā, varat izmantot zvaigznī­ti *. Varat arī norādīt at­se­viš­ķas ailes, iz­man­to­jot to primāros un ārējos atslēgas.
  • FROM: Norāda tabulu, kurā vēlaties veikt meklēšanu.
  • WHERE: Norāda no­sa­cī­ju­mus, kurus vēlaties izmantot, lai sa­šau­ri­nā­tu meklēšanu. Šeit varat izmantot NOT.
  • NOT: Kom­bi­nē­jot ar WHERE, norādiet, kuri mek­lē­ša­nas rezultāti nav jāiekļauj.

Ja vēlaties, lai mek­lē­ša­nas 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 re­zul­tā­tus, kas atbilst diviem vai vairākiem no­sa­cī­ju­miem.

SELECT  *
FROM  table
WHERE  NOT  (condition1  AND  condition2)
sql

SQL NOT kopā ar OR

Jūs varat apvienot NOT ar OR, lai izslēgtu re­zul­tā­tus, kas atbilst vismaz vienam no­sa­cī­ju­mam.

SELECT  *
FROM  table
WHERE  NOT  (condition1  OR  condition2)
sql

Kādam nolūkam izmanto SQL NOT?

SQL NOT ir ne­skai­tā­mi pie­lie­to­ju­mi vai­cā­ju­mos un mek­lē­ju­mos. Tie ietver:

  • Datu, kas attiecas uz klientiem, pa­sū­tī­ju­miem vai pro­duk­tiem, iz­slēg­ša­na pēc reģiona, gada, ka­te­go­ri­jas, cenas vai cita rak­stur­lie­lu­ma
  • Ignorējot datus, kuros ir nederīgas vai trūk­sto­šas vērtības
  • Filtrējot finanšu datus, kas neatbilst no­teik­tiem darījumu kri­tē­ri­jiem
  • Izslēdzot datus par dar­bi­nie­kiem, kuri nestrādā noteiktā nodaļā
  • Filtrējot pre­ten­den­tus, kuriem nav noteiktas kva­li­fi­kā­ci­jas

SQL piemēri NOT

MekNOT šanas darbības, iz­man­to­jot SQL NOT var būt ļoti at­šķi­rī­gas atkarībā no NOT lie­to­ša­nas gadījuma. Iz­šķi­ro­šie faktori ir tas, kā no­sa­cī­ju­mu definējat, iz­man­to­jot klauzulu WHERE operatoru un citus papildu ope­ra­to­rus. Tur­pi­nā­ju­mā parādīsim trīs piemērus.

Dar­bi­nie­ku iz­slēg­ša­na pēc reģiona

Pieņemsim, ka jūs strādājat ar tabulu „Dar­bi­nie­ki” un vēlaties redzēt tikai tos dar­bi­nie­kus, kuri nedzīvo Ap­vie­no­ta­jā Karalistē. Lai to izdarītu, iz­man­to­jiet kolonnu „Valsts”, klauzulu WHERE, operatoru NOT un sa­lī­dzi­nā­ša­nas operatoru =.

SELECT  *
FROM  Customers
WHERE  NOT  (Country  =  'UK')
sql

Vai arī, ja vēlaties redzēt, kuri produkti ir izpārdoti, tas iz­ska­tī­tos līdzīgi:

SELECT  *
FROM  Products
WHERE  NOT  (Inventory  >  0)
sql

Klientu fil­trē­ša­na

Šajā piemērā mēs meklēsim klientu grupu, kas neatbilst no­teik­tiem kri­tē­ri­jiem. Pieņemsim, ka jūs ne­vē­la­ties redzēt klientus, kuri ir jaunāki par 30 gadiem un dzīvo Kardifā. Tas iz­ska­tī­tos šādi:

SELECT  *
FROM  Customers
WHERE  NOT  (Age  <  30  AND  City  =  'Cardiff')
sql

Ne­pie­tie­ka­mi kva­li­fi­cē­tu pre­ten­den­tu at­la­sī­ša­na

Pieņemsim, ka vēlaties izslēgt visus pre­ten­den­tus, kuriem nav ne bakalaura grāda, ne vismaz trīs gadu darba pieredzes. Šāda meklēšana iz­ska­tī­tos šādi:

SELECT  *
FROM  Applicants
WHERE  NOT  (Degree  =  ´Bachelor´  OR  Experience  <  3)
sql

Kādas ir al­ter­na­tī­vas SQL NOT?

SQL NOT ir vienīgais operators, kas izmanto noliegumu, lai filtrētu mek­lē­ša­nas kri­tē­ri­jus. Taču, tā kā SQL NOT ir daudz­pu­sīgs SQL operators, to var kombinēt ar dažādām SQL komandām, lai veiktu precīzus vai­cā­ju­mus. Šīs komandas ietver SQL JOIN un SQL HAVING, piemēram, SQL SUM un AVG. To var kombinēt arī ar sa­lī­dzi­nā­ša­nas ope­ra­to­riem, piemēram, =, > un SQL LIKE, kā arī ar lo­ģis­ka­jiem ope­ra­to­riem AND un OR.

Go to Main Menu