MySQL - Operatore NOT

Ciao a tutti, futuri maghi dei database! Oggi andremo a immergerci nel magico mondo dell'operatore NOT di MySQL. Non preoccupatevi se siete nuovi a questo - sarò il vostro guida amichevole in questa avventura, e alla fine, utilizzerete l'operatore NOT come un professionista!

MySQL - NOT Operator

Operatore NOT in MySQL

L'operatore NOT è come il ribelle del mondo MySQL. Si tratta tutta di negazione, capovolgere le cose e dire "no" alle condizioni. Immagina di essere un insegnante (come me!) e vuoi trovare tutti gli studenti che non hanno consegnato i loro compiti. È qui che il NOT becomes utile!

Iniziamo con un esempio semplice:

SELECT * FROM students WHERE NOT grade = 'A';

Questa query recupererà tutti gli studenti che non hanno preso un A. È come dire: "Mostrami tutti tranne gli studenti con A". pretty cool, vero?

Ecco un altro esempio:

SELECT * FROM products WHERE NOT price > 100;

Questo ci darà tutti i prodotti che non costano più di $100. È un modo astuto per dire "Mostrami i prodotti che costano $100 o meno."

NOT con l'Operatore IN

Ora, livello superiore e combiniamo NOT con l'operatore IN. L'operatore IN è come una lista VIP, e NOT IN dice "tutti coloro che non sono nella lista."

SELECT * FROM fruits WHERE name NOT IN ('apple', 'banana', 'orange');

Questa query mostrerà tutti i frutti tranne mele, banane e arance. È come avere un vassoio di frutta e scegliere tutto tranne quei tre frutti.

NOT con l'Operatore IS NULL

I valori NULL nei database sono come fantasmi - ci sono, ma non davvero. L'operatore NOT IS NULL ci aiuta a trovare tutti i valori non-fantasma.

SELECT * FROM customers WHERE phone_number IS NOT NULL;

Questo troverà tutti i clienti che hanno fornito un numero di telefono. È come chiamare "Marco!" e aspettare che tutti coloro che possono rispondere con "Polo!".

NOT con l'Operatore LIKE

L'operatore LIKE è utilizzato per il confronto di modelli, e NOT LIKE è il suo gemello dispettoso. È perfetto per trovare cose che non corrispondono a un certo modello.

SELECT * FROM books WHERE title NOT LIKE 'The%';

Questa query troverà tutti i libri i cui titoli non iniziano con "The". È come organizzare una libreria e mettere tutti i libri "The" da un lato e tutto il resto dall'altro.

NOT con l'Operatore BETWEEN

BETWEEN ci aiuta a trovare valori all'interno di un intervallo, e NOT BETWEEN fa l'opposto. È come creare una zona "Solo Bambini" e poi trovare tutti coloro che non sono ammessi.

SELECT * FROM employees WHERE age NOT BETWEEN 25 AND 35;

Questo troverà tutti i dipendenti che sono soit più giovani di 25 anni o più vecchi di 35. È un ottimo modo per segmentare i dati!

NOT con la Dichiarazione UPDATE

L'operatore NOT non è solo per le dichiarazioni SELECT. Possiamo usarlo anche nelle dichiarazioni UPDATE! Vediamo un esempio:

UPDATE inventory SET in_stock = 0 WHERE NOT product_id IN (101, 102, 103);

Questa query aggiorna l'inventario, impostando tutti i prodotti come esauriti tranne i prodotti con ID 101, 102 e 103. È come svuotare il tuo negozio ma mantenere disponibili alcuni articoli speciali.

NOT con la Dichiarazione DELETE

Possiamo anche usare NOT nelle dichiarazioni DELETE. Sii cauto con questa - è potente!

DELETE FROM old_records WHERE NOT date_created > '2020-01-01';

Questo cancellerà tutti i record creati prima del 2020. È come fare una grande pulizia e mantenere solo le cose più recenti.

Operatore NOT Utilizzando un Programma Client

Ora, vediamo come possiamo usare l'operatore NOT in un programma client. Ecco un esempio semplice in Python utilizzando il MySQL Connector:

import mysql.connector

# Connettiti al database
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database='your_database')
cursor = cnx.cursor()

# Esegui una query con NOT
query = "SELECT * FROM students WHERE NOT grade = 'F'"
cursor.execute(query)

# Recupera e stampa i risultati
for (id, name, grade) in cursor:
print(f"Studente {id}: {name} - Voto: {grade}")

# Chiudi la connessione
cursor.close()
cnx.close()

Questo script si connette a un database MySQL, esegue una query per trovare tutti gli studenti che non hanno preso un F, e stampa le loro informazioni. È come fare una giornata di bollettini, ma solo per gli studenti che hanno passato!

E вот вы и здесь, gente! Avete appena fatto un giro virtusoso dell'operatore NOT di MySQL. Ricorda, nel mondo dei database, a volte è altrettanto importante sapere cosa non vuoi rispetto a cosa vuoi. L'operatore NOT è il tuo fedele compagno in queste situazioni.

Continua a esercitarti, rimani curioso, e prima di sapere, sarai un esperto nel NOTare il tuo modo attraverso i database! Buon querying!

Credits: Image by storyset