# 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`](https://www.ionos.com/lv-lv/digitalguide/serveris/konfiguracija/sql-vai/) 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:

<table>
  <thead>
    <tr>
      <th>SQL `NOT`</th>
      <th>SQL `AND`</th>
      <th>SQL `OR`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Atgriež tikai tos elementus, kas neatbilst norādītajam nosacījumam</td>
      <td>Atgriež ierakstus, kas atbilst visiem norādītajiem nosacījumiem</td>
      <td>Atgriež ierakstus, kas atbilst vismaz vienam no norādītajiem nosacījumiem</td>
    </tr>
    <tr>
      <td>Noliedz nosacījumu, kas nav attiecināms uz meklēšanu</td>
      <td>Apvieno nosacījumus, lai sašaurinātu meklēšanu līdz vienībām, kas atbilst vairākiem meklēšanas kritērijiem</td>
      <td>Sašaurina meklēšanas rezultātus līdz vienībām, kas atbilst vismaz vienam no vairākiem kritērijiem</td>
    </tr>
  </tbody>
</table>

Tip Vēlies padziļināt savas zināšanas par [SQL](https://www.ionos.com/lv-lv/digitalguide/serveris/prasmes-un-zinasanas/kas-ir-sql/), bet vēl esi iesācējs? Tad iepazīsties ar mūsu [SQL ievadu ar piemēriem](https://www.ionos.com/lv-lv/digitalguide/serveris/konfiguracija/sql-ievads-ar-piemeriem/).

## Kāda ir SQL `NOT` sintakse?

SQL `NOT` pamata sintakse izskatās šādi:

```sql
SELECT  *
FROM table
WHERE  NOT  (searchcriteria)
```

Ar `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 izmantot `NOT`.
- `NOT`: Kombinējot ar `WHERE`, 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.

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

### SQL `NOT` kopā ar `OR`

Jūs varat apvienot `NOT` ar `OR`, lai izslēgtu rezultātus, kas atbilst **vismaz vienam nosacījumam**.

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

## Kā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`

Mek`NOT` š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 `=`.

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

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

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

### Klientu 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:

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

### Nepietiekami 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:

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

## Kā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](https://www.ionos.com/lv-lv/digitalguide/serveris/konfiguracija/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`.


This is a markdown version of: [https://www.ionos.com/lv-lv/digitalguide/serveris/konfiguracija/sql-not/](https://www.ionos.com/lv-lv/digitalguide/serveris/konfiguracija/sql-not/) for AI/LLM consumption.