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
Libérer: 2024-12-15 01:14:11
original
574 Les gens l'ont consulté

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)
Copier après la connexion

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 |
+-----------+----------+------------+
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal