BETWEEN în MySQL

Condiții în WHERE Toate versiunile MySQL și MariaDB

Verifică dacă o valoare este într-un interval, cu tot cu capete.

Sintaxă
WHERE coloana BETWEEN minim AND maxim;

Ce face BETWEEN

BETWEEN a AND b este echivalent cu >= a AND <= b. Ambele capete sunt incluse. Funcționează cu numere, date și texte.

Pentru coloane de tip DATETIME ai grijă la capătul de sus: BETWEEN '2026-10-01' AND '2026-10-31' nu include comenzile din 31 octombrie de după ora 00:00:00.

Parametri

Parametru Descriere
minim Începutul intervalului (inclus).
maxim Sfârșitul intervalului (inclus).

Exemple

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

CREATE TABLE clienti (
  id INT PRIMARY KEY,
  nume VARCHAR(50) NOT NULL,
  oras VARCHAR(30),
  email VARCHAR(100)
);

INSERT INTO clienti VALUES
  (1, 'Ana Pop', 'Cluj', 'ana@exemplu.ro'),
  (2, 'Bogdan Ionescu', 'Sibiu', NULL),
  (3, 'Cristina Marin', 'Cluj', 'cristina@exemplu.ro'),
  (4, 'Dan Stoica', 'Arad', NULL);

CREATE TABLE comenzi (
  id INT PRIMARY KEY,
  client_id INT,
  data DATE,
  total INT
);

INSERT INTO comenzi VALUES
  (101, 1, '2026-09-03', 3580),
  (102, 3, '2026-09-15', 650),
  (103, 1, '2026-10-02', 1200),
  (104, 2, '2026-10-11', 80);

Exemplul 1: Interval de valori

SELECT id, total FROM comenzi WHERE total BETWEEN 500 AND 1500 ORDER BY id;

Rezultat

+-----+-------+
| id  | total |
+-----+-------+
| 102 |   650 |
| 103 |  1200 |
+-----+-------+

Exemplul 2: Comenzile dintr-o lună

SELECT id, data, total
FROM comenzi
WHERE data BETWEEN '2026-10-01' AND '2026-10-31'
ORDER BY data;

Rezultat

+-----+------------+-------+
| id  | data       | total |
+-----+------------+-------+
| 103 | 2026-10-02 |  1200 |
| 104 | 2026-10-11 |    80 |
+-----+------------+-------+

Greșeli frecvente

  • Scrii capetele invers: BETWEEN 1500 AND 500 nu găsește nimic. Primul număr trebuie să fie cel mai mic.
  • Folosești BETWEEN pe DATETIME cu o dată simplă ca sfârșit. Scrie mai sigur data >= '2026-10-01' AND data < '2026-11-01'.

Comenzi înrudite

  • WHERE: Filtrează rândurile: păstrează doar rândurile care îndeplinesc o condiție.
  • IN: Verifică dacă o valoare se află într-o listă. Înlocuiește mai multe condiții OR.