對於EXISTS和NOT EXISTS後邊括號裏面實際上就是壹個返回TRUE或者FALSE的查詢,把查詢的某壹個字段傳到裏面做壹個連接,如果符合這個裏面的WHERE條件,則括號內的結果就是TRUE,否則是FALSE,這樣WHERE 就可以翻譯成WHERE EXISTS TRUE或者FALSE
所以SELECT後邊跟的是什麽,並沒有影響,SELECT 1可以避免SELECT *在把*翻譯成字段,這樣會提高查詢效率。後邊跟的定制速度最快。同樣,也可以SELECT 'X'等等。
對於問號?,這應該是壹個動態查詢,?在程序中,會被傳入的參數所代替,最終是壹個具體的值。看這個語句,您直接把問號當成壹個變量理解就可以了。