SQL - Operatore BOOLEAN (BIT): Una Guida Amichevole per i Principianti

Ciao a tutti, futuri maghi dell'SQL! Oggi ci imbarchiamo in un viaggio emozionante nel mondo degli operatori Booleani in SQL. Non preoccupatevi se non avete mai scritto una riga di codice prima – sarò il vostro guida fidato, e affronteremo questo argomento passo dopo passo. Allora, prendete una tazza della vostra bevanda preferita e immergetevi!

SQL - BOOLEAN (BIT) Operator

Cos'è un Booleano in SQL?

Prima di entrare nei dettagli, iniziiamo con le basi. Un Booleano è un tipo di dati che può avere solo due valori possibili: TRUE o FALSE. È come un interruttore della luce – è要么 ON要么 OFF, senza possibilità intermedie. In SQL, utilizziamo i Booleani per prendere decisioni e filtrare i dati in base a determinate condizioni.

Ora, vediamo come diversi sistemi di database gestiscono i Booleani.

Booleano in MySQL

MySQL, uno dei sistemi di database più popolari, non ha un tipo BOOLEAN integrato. Invece, utilizza TINYINT(1) per rappresentare i valori Booleani. Ecco una panoramica rapida:

  • TRUE è rappresentato da 1
  • FALSE è rappresentato da 0

Creiamo una tabella semplice per dimostrare questo:

CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
is_enrolled TINYINT(1)
);

INSERT INTO students (id, name, is_enrolled) VALUES
(1, 'Alice', 1),
(2, 'Bob', 0),
(3, 'Charlie', 1);

In questo esempio, abbiamo creato una tabella students con una colonna is_enrolled che agisce come il nostro Booleano. Alice e Charlie sono iscritti (TRUE), mentre Bob non lo è (FALSE).

Booleano in MS SQL Server

Microsoft SQL Server, d'altra parte, ha un tipo di dati BIT dedicato per i valori Booleani. Ecco come funziona:

  • TRUE è rappresentato da 1
  • FALSE è rappresentato da 0

Creiamo la stessa tabella nel MS SQL Server:

CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
is_enrolled BIT
);

INSERT INTO students (id, name, is_enrolled) VALUES
(1, 'Alice', 1),
(2, 'Bob', 0),
(3, 'Charlie', 1);

La struttura è simile, ma utilizziamo BIT invece di TINYINT(1) per la colonna is_enrolled.

Filtrare i Dati Booleani

Ora che abbiamo i nostri dati, impariamo come filtrarli utilizzando condizioni Booleani. Questo è dove la magia vera inizia!

Trovare gli Studenti Iscritti

Per trovare tutti gli studenti iscritti, possiamo utilizzare questa query:

SELECT * FROM students WHERE is_enrolled = TRUE;

Oppure, in MySQL:

SELECT * FROM students WHERE is_enrolled = 1;

Questo restituirà Alice e Charlie, i nostri studenti iscritti.

Trovare gli Studenti Non Iscritti

Per trovare gli studenti che non sono iscritti, possiamo fare questo:

SELECT * FROM students WHERE is_enrolled = FALSE;

Oppure, in MySQL:

SELECT * FROM students WHERE is_enrolled = 0;

Questo restituirà Bob, il nostro studente non iscritto.

Negare le Condizioni Booleani

A volte, vogliamo trovare l'opposto di una condizione. Possiamo utilizzare l'operatore NOT per questo:

SELECT * FROM students WHERE NOT is_enrolled;

Questa query restituirà tutti gli studenti che non sono iscritti, che è lo stesso della nostra query precedente per trovare gli studenti non iscritti.

Lavorare con i Valori NULL

In SQL, NULL rappresenta un valore sconosciuto o mancante. Non è né TRUE né FALSE. Quando lavoriamo con i Booleani, dobbiamo essere cauti con i valori NULL. Aggiungiamo uno studente con uno stato di iscrizione sconosciuto:

INSERT INTO students (id, name, is_enrolled) VALUES (4, 'David', NULL);

Ora, se eseguiamo le nostre query precedenti, David non apparirà né negli elenchi degli iscritti né dei non iscritti. Per trovare gli studenti con uno stato di iscrizione sconosciuto, possiamo utilizzare:

SELECT * FROM students WHERE is_enrolled IS NULL;

Questa query restituirà David, il nostro studente con uno stato di iscrizione sconosciuto.

Aggiornare i Valori Booleani

Ultimamente, vediamo come aggiornare i valori Booleani. Immaginiamo che Bob decida di iscriversi:

UPDATE students SET is_enrolled = TRUE WHERE name = 'Bob';

Oppure, in MySQL:

UPDATE students SET is_enrolled = 1 WHERE name = 'Bob';

Ora Bob è iscritto!

Conclusione

Ecco qui, ragazzi! Abbiamo coperto le basi degli operatori Booleani in SQL. Ricordate, i Booleani sono come semplici domande sì/no nel vostro database. Sono estremamente utili per filtrare i dati e prendere decisioni nelle vostre query.

Ecco una tabella di riepilogo dei metodi che abbiamo coperto:

Operazione Sintassi MySQL Sintassi MS SQL Server
Creare Colonna Booleana TINYINT(1) BIT
Impostare TRUE 1 1
Impostare FALSE 0 0
Filtrare TRUE WHERE colonna = 1 WHERE colonna = TRUE
Filtrare FALSE WHERE colonna = 0 WHERE colonna = FALSE
Negare WHERE NOT colonna WHERE NOT colonna
Controllare NULL WHERE colonna IS NULL WHERE colonna IS NULL

Praticate questi concetti, e presto utilizzerete gli operatori Booleani come un professionista! Ricordate, la chiave per padroneggiare SQL è la pratica e la pazienza. Non abbiate paura di sperimentare con diverse query – è così che impariamo e cresciamo come programmatori.

Buon codice, e possa il Booleano essere con voi!

Credits: Image by storyset