Menu
Coddy logo textTech

INTERSECT

Fait partie de la section Au-delà des bases du Journey SQL de Coddy — leçon 17 sur 27.

INTERSECT retourne uniquement les lignes qui apparaissent dans les deux ensembles de résultats. Comme UNION, il supprime les doublons et nécessite des colonnes correspondantes de chaque côté.

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

Cela correspond à chaque e-mail qui est à la fois abonné à la newsletter et un utilisateur premium, sans avoir à écrire de jointure.

Pourquoi s'embêter, quand un JOIN peut aussi faire cela ? INTERSECT est plus court quand les deux côtés sont des SELECT simples et que vous effectuez la correspondance sur la ligne entière, pas seulement sur un id.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • <strong>newsletter</strong> : <strong>email</strong>, <strong>active</strong>
  • <strong>premium</strong> : <strong>email</strong>, <strong>plan</strong>

Retournez les e-mails qui apparaissent comme des abonnés actifs à la newsletter (active = 1) et comme des utilisateurs premium avec le plan 'pro'. Ordonnez par ordre alphabétique.

Aide-mémoire

INTERSECT retourne uniquement les lignes qui apparaissent dans les deux ensembles de résultats (doublons supprimés, les colonnes doivent correspondre) :

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

Utilisez INTERSECT au lieu d'un JOIN lors de la mise en correspondance de lignes entières sur deux simples SELECT.

Essayez vous-même

-- filtrer chaque côté avant INTERSECT
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Au-delà des bases