Maison base de données tutoriel mysql 如何判断多个字段组成的关键字在另外一张表中是否存在

如何判断多个字段组成的关键字在另外一张表中是否存在

Jun 07, 2016 pm 04:10 PM
关键字 判断 多个 如何 字段 composition dans la table

如何判断多个字段组成的关键字在另外一张表中是否存在 老帅(20141107) 1.首先判断一个关键字在另外一张表中是否存在很容易! SELECT * FROM a WHERE a.ID IN ( SELECT b.ID FROM b ) 2.如果判断的关键字有多个字段构成怎么办呢? 你不能在IN中使用多个字段

如何判断多个字段组成的关键字在另外一张表中是否存在

老帅(20141107)

1.首先判断一个关键字在另外一张表中是否存在很容易!

SELECT * FROM a

WHERE a.ID

IN

(

SELECT b.ID

FROM b

)


2.如果判断的关键字有多个字段构成怎么办呢?

你不能在IN中使用多个字段。如下查询:

SELECT * FROM a

WHERE (a.ID1, a.ID2)

IN

(

SELECT b.ID1, b.ID2

FROM b

)

这不会正常工作,违反了SQLSERVER标准。


3.要解决这一问题,可以用EXISTS来代替IN!

SELECT * FROM a

WHERE EXISTS

(

SELECT NULL

FROM b

WHERE a.ID1 = b.ID1

AND a.ID2 = b.ID2

)


4.值得注意的是,这仅适用于IN,而非NOT IN!

NOT IN与NOT EXISTS在处理空值的方式上略有不同。

SELECT *

FROM a

WHERE (a.ID1, a.ID2) NOT IN

(

SELECT b.ID1, b.ID2

FROM b

)

这不会正常工作,违反了SQLSERVER标准。要模仿NOT IN的查询如下:

我们必须使用以下查询:

SELECT *

FROM a

WHERE NOT EXISTS

(

SELECT NULL

FROM b

WHERE a.ID1 = b.ID1

AND a.ID2 = b.ID2

)

AND NOT EXISTS

(

SELECT NULL

FROM b

WHERE b.ID1 IS NULL

OR b.ID2 IS NULL

)

第二个谓词确保b在ID1和ID2中不会有空值,任何这样的值都会让原始查询不会返回结果!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Détection d'e-mail PHP : Déterminez si l'e-mail a été envoyé avec succès. Détection d'e-mail PHP : Déterminez si l'e-mail a été envoyé avec succès. Sep 19, 2023 am 09:16 AM

Détection d'e-mail PHP : Déterminez si l'e-mail a été envoyé avec succès. Lors du développement d'applications Web, vous devez souvent envoyer des e-mails pour communiquer avec les utilisateurs. Qu'il s'agisse de confirmation d'inscription, de réinitialisation de mot de passe ou d'envoi de notifications, la fonction e-mail est un élément indispensable. Cependant, nous ne pouvons parfois pas garantir si l'e-mail a été envoyé avec succès. Nous devons donc effectuer une détection d'e-mail et déterminer si l'e-mail a été envoyé avec succès. Cet article explique comment utiliser PHP pour implémenter cette fonction. 1. Utilisez le serveur SMTP pour envoyer des e-mails. Tout d’abord, nous devons utiliser SM.

Utilisez la fonction File.isDirectory() de Java pour déterminer si le fichier existe et s'il s'agit d'un type de répertoire Utilisez la fonction File.isDirectory() de Java pour déterminer si le fichier existe et s'il s'agit d'un type de répertoire Jul 24, 2023 pm 06:57 PM

Utilisez la fonction File.isDirectory() de Java pour déterminer si un fichier existe et est de type répertoire. En programmation Java, vous rencontrez souvent des situations dans lesquelles vous devez déterminer si un fichier existe et est de type répertoire. Java fournit la classe File pour gérer les fichiers et les répertoires. La fonction isDirectory() peut nous aider à déterminer si un fichier est un type de répertoire. La fonction File.isDirectory() est une méthode de la classe File. Sa fonction est de déterminer le fichier actuel.

Utilisez la fonction Character.isDigit() de Java pour déterminer si un caractère est un nombre Utilisez la fonction Character.isDigit() de Java pour déterminer si un caractère est un nombre Jul 27, 2023 am 09:32 AM

Utilisez la fonction Character.isDigit() de Java pour déterminer si un caractère est un caractère numérique. Les caractères sont représentés sous la forme de codes ASCII en interne dans l'ordinateur. Chaque caractère a un code ASCII correspondant. Parmi eux, les valeurs du code ASCII correspondant aux caractères numériques 0 à 9 sont respectivement 48 à 57. Pour déterminer si un caractère est un nombre, vous pouvez utiliser la méthode isDigit() fournie par la classe Character en Java. La méthode isDigit() est de la classe Character

Comment additionner des cellules dans plusieurs feuilles de calcul dans Excel Comment additionner des cellules dans plusieurs feuilles de calcul dans Excel Feb 19, 2024 pm 01:57 PM

Cet article montrera comment additionner des cellules dans plusieurs feuilles de calcul dans Excel. Microsoft Excel est un puissant tableur pour la gestion des données. Lorsque vous travaillez avec des données, vous devrez peut-être effectuer la somme sur plusieurs cellules. Ce guide vous montrera comment y parvenir facilement. Comment additionner des cellules dans plusieurs feuilles de calcul dans Excel Lors de la somme de cellules dans plusieurs feuilles de calcul dans Excel, vous pouvez rencontrer les deux situations suivantes : Ajout d'une seule valeur de cellule dans une plage de cellules Ajout de valeurs Nous aborderons les deux méthodes ici. Ajout d'une valeur de cellule unique sur plusieurs feuilles de calcul dans Excel Nous avons collecté un échantillon contenant les ventes de 6 entreprises différentes pendant quatre mois consécutifs (de janvier à avril)

Comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infini Comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infini Jul 24, 2023 am 10:10 AM

Comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infini. En Java, la classe Double est une classe wrapper utilisée pour représenter des nombres à virgule flottante. Cette classe fournit une série de méthodes qui peuvent facilement fonctionner sur des nombres à virgule flottante. Parmi elles, la méthode isInfinite() est utilisée pour déterminer si un nombre à virgule flottante est infini. L'infini fait référence à l'infini positif et à l'infini négatif qui sont si grands qu'ils dépassent la plage que peuvent représenter les nombres à virgule flottante. Dans les ordinateurs, la valeur maximale d'un nombre à virgule flottante peut être obtenue via la classe Double

Analyse approfondie du rôle et de l'utilisation du mot-clé static en langage C Analyse approfondie du rôle et de l'utilisation du mot-clé static en langage C Feb 20, 2024 pm 04:30 PM

Analyse approfondie du rôle et de l'utilisation du mot-clé static en langage C. En langage C, static est un mot-clé très important, qui peut être utilisé dans la définition de fonctions, de variables et de types de données. L'utilisation du mot-clé static peut modifier les attributs de lien, la portée et le cycle de vie de l'objet. Analysons en détail le rôle et l'utilisation du mot-clé static en langage C. Variables et fonctions statiques : les variables définies à l'aide du mot-clé static à l'intérieur d'une fonction sont appelées variables statiques et ont un cycle de vie global.

Comment déterminer si une date est la veille en langage Go ? Comment déterminer si une date est la veille en langage Go ? Mar 24, 2024 am 10:09 AM

Question : Comment déterminer si la date est la veille en langage Go ? Dans le développement quotidien, nous rencontrons souvent des situations où nous devons déterminer si la date correspond à la veille. Dans le langage Go, nous pouvons implémenter cette fonction via le calcul du temps. Ce qui suit sera combiné avec des exemples de code spécifiques pour montrer comment déterminer si la date correspond au jour précédent en langage Go. Tout d'abord, nous devons importer le package time dans le langage Go. Le code est le suivant : import("time") Ensuite, nous définissons une fonction IsYest.

Pratique d'utilisation de jQuery : plusieurs façons de déterminer si une variable est vide Pratique d'utilisation de jQuery : plusieurs façons de déterminer si une variable est vide Feb 27, 2024 pm 04:12 PM

jQuery est une bibliothèque JavaScript largement utilisée dans le développement Web. Elle fournit de nombreuses méthodes simples et pratiques pour exploiter les éléments d'une page Web et gérer les événements. Dans le développement réel, nous rencontrons souvent des situations où nous devons déterminer si une variable est vide. Cet article présentera plusieurs méthodes courantes d'utilisation de jQuery pour déterminer si une variable est vide et joindra des exemples de code spécifiques. Méthode 1 : utilisez l'instruction if pour déterminer varstr="";if(str){co

See all articles