MySQL - Operatore BETWEEN: Una Guida per Principianti

Ciao a tutti, appassionati di database in erba! Oggi ci immergeremo nel mondo di MySQL, concentrandocispecificamente sull'operatore BETWEEN. Non preoccupatevi se siete nuovi al programming; sarò il vostro guida amichevole, spiegando tutto passo-passo. Allora, entriamo nel vivo!

MySQL - Between Operator

Cos'è l'Operatore BETWEEN?

Immaginate di organizzare la vostra libreria. Volete trovare tutti i libri pubblicati tra il 2010 e il 2020. Proprio questo è ciò che l'operatore BETWEEN ci aiuta a fare in MySQL - ci permette di selezionare valori all'interno di un intervallo dato.

Sintassi di Base

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Scendiamo nei dettagli:

  • SELECT: È come dire "Voglio vedere..."
  • column_name(s): Queste sono le informazioni specifiche che volete vedere
  • FROM table_name: Questo è dove sono conservate le informazioni
  • WHERE: Questo è come impostiamo le condizioni
  • BETWEEN value1 AND value2: Questo è il nostro intervallo

Operatore BETWEEN di MySQL in Azione

Immaginiamo di avere una tabella chiamata books con le colonne id, title, author, e publication_year. Ecco come potremmo usare BETWEEN:

SELECT title, author, publication_year
FROM books
WHERE publication_year BETWEEN 2010 AND 2020;

Questa query ci mostrerà tutti i libri pubblicati tra il 2010 e il 2020, inclusi. È come chiedere, "Mostrami tutti i libri dal 2010 al 2020, inclusi."

BETWEEN con Date

BETWEEN funziona alla perfezione anche con le date! Immaginiamo di avere una tabella orders:

SELECT order_id, customer_name, order_date
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

Questo mostrerà tutti gli ordini effettuati nel 2023. Bel pezzo, vero?

MySQL BETWEEN con Operatore IN

Ora, aggiungiamo un po' di pepe. Cosa succede se vogliamo trovare libri pubblicati tra il 2010 e il 2020, ma solo da alcuni autori? È qui che combiniamo BETWEEN con IN:

SELECT title, author, publication_year
FROM books
WHERE publication_year BETWEEN 2010 AND 2020
AND author IN ('J.K. Rowling', 'George R.R. Martin', 'Stephen King');

Questa query è come dire, "Mostrami i libri dal 2010 al 2020, ma solo se sono scritti da questi autori specifici."

MySQL BETWEEN con Dichiarazione UPDATE

A volte, non vogliamo solo visualizzare i dati - vogliamo cambiarli. Immaginiamo di voler applicare uno sconto del 10% a tutti i prodotti con un prezzo tra $50 e $100:

UPDATE products
SET price = price * 0.9
WHERE price BETWEEN 50 AND 100;

Questa query aggiorna i prezzi, applicando uno sconto del 10% ai prodotti nel nostro intervallo specificato.

Operatore BETWEEN con Dichiarazione DELETE

L'operatore BETWEEN può anche essere utilizzato quando vogliamo rimuovere dati. Immaginiamo di voler cancellare tutti gli ordini del primo trimestre del 2023:

DELETE FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-03-31';

Questo rimuove tutti gli ordini effettuati nei primi tre mesi del 2023. Siate prudenti con le dichiarazioni DELETE - controllate sempre due volte prima di eseguirle!

MySQL Operatore NOT BETWEEN

A volte, vogliamo tutto ciò che è fuori da un certo intervallo. È qui che entra in gioco NOT BETWEEN:

SELECT title, author, publication_year
FROM books
WHERE publication_year NOT BETWEEN 2010 AND 2020;

Questa query mostra tutti i libri pubblicati prima del 2010 o dopo il 2020.

Operatore NOT BETWEEN con Operatore IN

Possiamo combinare NOT BETWEEN con IN per ottenere query ancora più specifiche:

SELECT product_name, price
FROM products
WHERE price NOT BETWEEN 50 AND 100
AND category IN ('Electronics', 'Appliances');

Questa query trova i prodotti nelle categorie Electronics o Appliances che sono inferiori a $50 o superiori a $100.

Utilizzo dell'Operatore BETWEEN in un Programma Client

Quando utilizziamo BETWEEN in un programma client (come uno script PHP), potremmo fare qualcosa come questo:

<?php
$min_price = 50;
$max_price = 100;

$query = "SELECT product_name, price FROM products WHERE price BETWEEN ? AND ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("dd", $min_price, $max_price);
$stmt->execute();
$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {
echo $row['product_name'] . ": $" . $row['price'] . "<br>";
}
?>

Questo script PHP prepara una query con segnaposti, lega i valori, esegue la query e poi visualizza i risultati.

Conclusione

Eccoci, gente! Abbiamo intrapreso un viaggio attraverso il mondo dell'operatore BETWEEN in MySQL. Dalle selezioni di base agli aggiornamenti e le cancellazioni, abbiamo visto quanto questo piccolo operatore può essere versatile. Ricordate, la pratica rende perfetti, quindi non abbiate paura di sperimentare con le vostre query.

Ecco una tabella di riepilogo dei metodi che abbiamo coperto:

Metodo Descrizione
BETWEEN Seleziona valori all'interno di un dato intervallo
BETWEEN con IN Combina intervallo e selezione di valori specifici
BETWEEN con UPDATE Aggiorna record all'interno di un intervallo specifico
BETWEEN con DELETE Cancella record all'interno di un intervallo specifico
NOT BETWEEN Seleziona valori al di fuori di un dato intervallo
NOT BETWEEN con IN Combina esclusione di un intervallo con selezione di valori specifici

Buon querying, e possa la vostra base di dati essere sempre organizzata ed efficiente!

Credits: Image by storyset