Maison >base de données >tutoriel mysql >Comment sélectionner des lignes qui ne correspondent pas entre deux tables SQL ?

Comment sélectionner des lignes qui ne correspondent pas entre deux tables SQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-15 01:14:11574parcourir

How to Select Non-Matching Rows Between Two SQL Tables?

Lignes non correspondantes dans les tables SQL : sélection de données disjointes

Dans la gestion de bases de données, il est souvent nécessaire de récupérer les enregistrements d'une table qui n'existent pas dans un autre. C'est ce qu'on appelle la sélection de lignes qui ne correspondent pas. Considérons le scénario dans lequel vous disposez de deux tables, Table1 et Table2, chacune contenant des enregistrements avec des colonnes FirstName, LastName et BirthDate.

Problème : Identifiez et affichez les lignes du tableau 1 qui ne sont pas présentes. dans le tableau 2.

Solution :

La sous-requête peut être structuré pour sélectionner des lignes du tableau 1 en fonction d'une colonne spécifique où la ligne correspondante n'existe pas dans le tableau 2.

Requête modifiée :

SELECT * FROM Table1 WHERE FirstName NOT IN (SELECT FirstName FROM Table2)

Dans cette requête modifiée, nous spécifions la colonne FirstName à des fins de comparaison car il s'agit d'un identifiant unique pour les lignes des deux tables. La clause NOT IN garantit que seules les lignes du tableau 1 avec des valeurs FirstName qui n'existent pas dans le tableau 2 sont sélectionnées.

Cette requête renverra toutes les lignes du tableau 1 qui ne sont pas dans le tableau 2, fournissant une liste d'enregistrements uniques. Il devrait produire le résultat :

+-----------+----------+------------+
| FirstName | LastName | BirthDate  |
+-----------+----------+------------+
| Yamila    | Diaz     | 1972-03-04 |
+-----------+----------+------------+

Cette solution utilise une logique de sous-requête pour effectuer la comparaison et sélectionner efficacement les enregistrements disjoints entre les deux tables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn