NOT BETWEEN în MySQL

Verifică dacă o valoare este în afara unui interval (capetele fac parte din interval).

Sintaxă
valoare NOT BETWEEN minim AND maxim

Ce face NOT BETWEEN

x NOT BETWEEN a AND b înseamnă x < a OR x > b. Capetele a și b sunt incluse în interval, deci sunt excluse din rezultat.

Parametri

Parametru Descriere
valoare Valoarea verificată.
minim, maxim Capetele intervalului.

Ce returnează

1, 0 sau NULL.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE produse (
  id INT PRIMARY KEY,
  nume VARCHAR(30),
  pret DECIMAL(10,2),
  stoc INT,
  reducere INT
);

INSERT INTO produse VALUES
  (1, 'Laptop', 3499.90, 4, NULL),
  (2, 'Mouse', 79.50, 25, 10),
  (3, 'Birou', 899.00, 0, 15),
  (4, 'Scaun', 649.99, 7, NULL),
  (5, 'Monitor', 1199.00, 3, 5);

Exemplul 1: Produse foarte ieftine sau foarte scumpe

SELECT nume, pret
FROM produse
WHERE pret NOT BETWEEN 100 AND 1000
ORDER BY pret;

Rezultat

+---------+---------+
| nume    | pret    |
+---------+---------+
| Mouse   |   79.50 |
| Monitor | 1199.00 |
| Laptop  | 3499.90 |
+---------+---------+

Greșeli frecvente

  • Inversezi capetele: NOT BETWEEN 1000 AND 100. Intervalul este gol, deci toate valorile sunt „în afara lui”.

Comenzi înrudite

  • BETWEEN: Verifică dacă o valoare este într-un interval, cu tot cu capete.
  • Operatori de comparație: Compară două valori și returnează 1 (adevărat), 0 (fals) sau NULL.