如何判断多个字段组成的关键字在另外一张表中是否存在
如何判断多个字段组成的关键字在另外一张表中是否存在 老帅(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中不会有空值,任何这样的值都会让原始查询不会返回结果!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP郵件偵測:判斷郵件是否已傳送成功。在開發網頁應用程式時,經常需要發送電子郵件來與使用者溝通,無論是註冊確認、密碼重設或發送通知,郵件功能都是不可或缺的一部分。但是,有時我們無法確保郵件是否真正發送成功,因此我們需要進行郵件檢測以及判斷郵件是否已成功發送。本文將介紹如何使用PHP來實現這個功能。一、使用SMTP伺服器發送郵件首先,我們需要使用SM

使用Java的Character.isDigit()函數判斷字元是否為數字字元在電腦內部以ASCII碼的形式表示,每個字元都有一個對應的ASCII碼。其中,數字字元0到9分別對應的ASCII碼值為48到57。要判斷一個字元是否為數字,可以使用Java中的Character類別提供的isDigit()方法來判斷。 isDigit()方法是Character類別的

使用java的File.isDirectory()函數判斷檔案是否存在且為目錄類型在Java程式設計中,常常會遇到需要判斷一個檔案是否存在且為目錄類型的情況。 Java提供了File類別來操作檔案和目錄,其中的isDirectory()函數可以幫助我們判斷一個檔案是否是目錄類型。 File.isDirectory()函數是File類別中的一個方法,其作用是判斷目前Fil

如何使用Double類別的isInfinite()方法判斷一個數是否為無限大在Java中,Double類別是用來表示浮點數的包裝類別。此類別提供了一系列方法,可以方便地對浮點數進行操作。其中,isInfinite()方法就是用來判斷一個浮點數是否為無限大的方法。無窮大是指大到超出了浮點數所能表示的範圍的正無窮和負無窮。在計算機中,浮點數的最大值可以通過Double類

本文將示範如何在Excel中對多個工作表中的儲存格進行求和。 MicrosoftExcel是一個功能強大的電子表格程序,用於資料管理。在處理資料時,可能需要跨多個單元格進行求和。本指南將指導您如何輕鬆實現這一目標。如何在Excel中對多個工作表中的儲存格求和在Excel中對多個工作表中的儲存格求和時,可能會遇到以下兩種情況:在儲存格區域中新增單一儲存格值時添加值我們將在這裡介紹這兩種方法。在Excel中跨多個工作表添加單一單元格值我們收集了包含6家不同公司在連續四個月(從1月到4月)的銷售額的樣本數

深入解析C語言中static關鍵字的功能和用法在C語言中,static是一種非常重要的關鍵字,它可以被用於函數、變數和資料類型的定義。使用static關鍵字可以改變物件的連結屬性、作用域和生命週期,以下就來詳細解析一下static關鍵字在C語言中的作用和用法。 static變數與函數:在函數內部使用static關鍵字定義的變數稱為靜態變量,它具有全域生命週

題目:Go語言中如何判斷日期是否為前一天?在日常開發中,常常會遇到需要判斷日期是否為前一天的情況。在Go語言中,我們可以透過時間運算來實現這個功能。以下將結合具體的程式碼範例來示範如何在Go語言中判斷日期是否為前一天。首先,我們需要導入Go語言中的時間包,程式碼如下:import("time")接著,我們定義一個函式IsYest

jQuery是一個廣泛應用於Web開發中的JavaScript庫,它提供了許多簡潔方便的方法來操作網頁元素和處理事件。在實際開發中,常會遇到需要判斷變數是否為空的情況。本文將介紹使用jQuery判斷變數是否為空的幾種常用方法,並附上具體的程式碼範例。方法一:使用if語句判斷varstr="";if(str){co
