Guide convivial pour les débutants : Opérateur BOOLEAN (BIT) en SQL

Bonjour à tous, futurs magiciens SQL ! Aujourd'hui, nous allons entreprendre un voyage passionnant à la découverte des opérateurs Boolean en SQL. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - je serai votre guide fidèle, et nous aborderons ce sujet pas à pas. Alors, prenez une tasse de votre boisson favorite et plongeons dedans !

SQL - BOOLEAN (BIT) Operator

Qu'est-ce qu'un Boolean en SQL ?

Avant de rentrer dans les détails, intéressons-nous aux bases. Un Boolean est un type de données qui ne peut prendre que deux valeurs possibles : VRAI ou FAUX. C'est comme un interrupteur - il est soit allumé, soit éteint, sans possibility d'intermédiaire. En SQL, nous utilisons les Booleans pour prendre des décisions et filtrer les données en fonction de certaines conditions.

Voyons maintenant comment différents systèmes de base de données gèrent les Booleans.

Boolean dans MySQL

MySQL, l'un des systèmes de base de données les plus populaires, n'a pas de type BOOLEAN natif. À la place, il utilise TINYINT(1) pour représenter les valeurs Boolean. Voici un résumé rapide :

  • VRAI est représenté par 1
  • FAUX est représenté par 0

Créons une table simple pour illustrer cela :

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);

Dans cet exemple, nous avons créé une table students avec une colonne is_enrolled qui agit comme notre Boolean. Alice et Charlie sont inscrits (VRAI), tandis que Bob ne l'est pas (FAUX).

Boolean dans MS SQL Server

Microsoft SQL Server, quant à lui, a un type BIT dédié pour les valeurs Boolean. Voici comment cela fonctionne :

  • VRAI est représenté par 1
  • FAUX est représenté par 0

Créons la même table dans 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 structure est similaire, mais nous utilisons BIT au lieu de TINYINT(1) pour la colonne is_enrolled.

Filtrage des données Boolean

Maintenant que nous avons nos données, apprenons à les filtrer en utilisant des conditions Boolean. C'est là que la magie opère vraiment !

Trouver les étudiants inscrits

Pour trouver tous les étudiants inscrits, nous pouvons utiliser cette requête :

SELECT * FROM students WHERE is_enrolled = TRUE;

Ou, dans MySQL :

SELECT * FROM students WHERE is_enrolled = 1;

Cela nous retournera Alice et Charlie, nos étudiants inscrits.

Trouver les étudiants non inscrits

Pour trouver les étudiants qui ne sont pas inscrits, nous pouvons faire cela :

SELECT * FROM students WHERE is_enrolled = FALSE;

Ou, dans MySQL :

SELECT * FROM students WHERE is_enrolled = 0;

Cela nous retournera Bob, notre étudiant non inscrit.

Négation des conditions Boolean

Parfois, nous voulons trouver l'inverse d'une condition. Nous pouvons utiliser l'opérateur NOT pour cela :

SELECT * FROM students WHERE NOT is_enrolled;

Cette requête nous retournera tous les étudiants qui ne sont pas inscrits, ce qui est équivalent à notre requête précédente pour trouver les étudiants non inscrits.

Travail avec les valeurs NULL

En SQL, NULL représente une valeur inconnue ou manquante. Ce n'est ni VRAI ni FAUX. Lorsque nous travaillons avec des Booleans, nous devons être prudent avec les valeurs NULL. Ajoutons un étudiant avec un statut d'inscription inconnu :

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

Maintenant, si nous exécutons nos requêtes précédentes, David ne apparaîtra dans aucune des listes inscrites ou non inscrites. Pour trouver les étudiants avec un statut d'inscription inconnu, nous pouvons utiliser :

SELECT * FROM students WHERE is_enrolled IS NULL;

Cette requête nous retournera David, notre étudiant avec un statut d'inscription inconnu.

Mise à jour des valeurs Boolean

Enfin, regardons comment mettre à jour les valeurs Boolean. Disons que Bob décide de s'inscrire :

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

Ou, dans MySQL :

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

Maintenant, Bob est inscrit !

Conclusion

Et voilà, les amis ! Nous avons couvert les bases des opérateurs Boolean en SQL. Souvenez-vous, les Booleans sont comme des questions oui/non dans votre base de données. Ils sont incroyablement utiles pour filtrer les données et prendre des décisions dans vos requêtes.

Voici un tableau de référence des méthodes que nous avons couvertes :

Opération Syntaxe MySQL Syntaxe MS SQL Server
Créer une colonne Boolean TINYINT(1) BIT
Définir VRAI 1 1
Définir FAUX 0 0
Filtrer VRAI WHERE colonne = 1 WHERE colonne = TRUE
Filtrer FAUX WHERE colonne = 0 WHERE colonne = FALSE
Négation WHERE NOT colonne WHERE NOT colonne
Vérifier NULL WHERE colonne IS NULL WHERE colonne IS NULL

Entraînez-vous avec ces concepts, et bientôt vous utiliserez les opérateurs Boolean comme un pro ! Souvenez-vous, la clé pour maîtriser SQL est la pratique et la patience. N'ayez pas peur d'expérimenter avec différentes requêtes - c'est ainsi que nous apprenons et grandissons en tant que programmeurs.

Bonne programmation, et que le Boolean soit avec vous !

Credits: Image by storyset