第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

sql總exists是通過什么來評判存在與否

sql總exists是通過什么來評判存在與否

心有法竹 2018-07-06 16:09:49
sql:select * from employees s where not exists(select 1 from dept_emp d where d.emp_no=s.emp_no)內表s:外表d:網(wǎng)上對exists的解釋:exists是對外表作loop循環(huán),每次loop循環(huán)再對內表進行查詢我的疑問:外表是通過其中一個字段去loop內表,只要有一個字段存在,就是存在?還是外表是通過整條數(shù)據(jù)去跟內表匹配,是否存在,如果是這樣,是不是不應是select 1總之,沒想明白,exists到底是用什么來判斷是否存在的,一行記錄,一行記錄的一個字段,還是其他?
查看完整描述

2 回答

?
慕勒3428872

TA貢獻1848條經(jīng)驗 獲得超6個贊

exists

指定一個子查詢,檢測行的存在。遍歷循環(huán)外表,然后看外表中的記錄有沒有和內表的數(shù)據(jù)一樣的。匹配上就將結果放入結果集中。具體sql語句如下:

SELECT
????`user`.*FROM
????`user`WHERE
????EXISTS?(????????
????????SELECT
????????????`order`.user_id??FROM??order`
????????WHERE
????????????`user`.id?=?`order`.user_id
????)

使用exists關鍵字進行查詢的時候,首先,我們先查詢的不是子查詢的內容,而是查我們的主查詢的表,也就是說,我們先執(zhí)行的sql語句是:

SELECT?`user`.*?FROM?`user`

然后,根據(jù)表的每一條記錄,執(zhí)行以下語句,依次去判斷where后面的條件是否成立:

EXISTS?(?????
????????SELECT
????????????`order`.user_id???FROM?`order`
????????WHERE
????????????`user`.id?=?`order`.user_id
????)

如果成立則返回true不成立則返回false。如果返回的是true的話,則該行結果保留,如果返回的是false的話,則刪除該行,最后將得到的結果返回。


查看完整回答
反對 回復 2018-07-12
  • 2 回答
  • 0 關注
  • 262 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號