[SQL ] NOT EXISTS 雙重否定語法
資料庫名稱:
資料庫版本:
內容/問題描述:
大家好,我是從零開始準備考國考的商科資訊考生。
沒有實務經驗所以不太了解版本,抱歉。
目前在接觸基礎SQL習題有碰到一些問題,我是參閱聖經本第六版
Q1:列出參與所有專案的供應商名稱?
題目所給表格:https://imgur.com/FqDfBeX
解法是用:不存在任何專案是沒有參與的
解答就像此網站的解析:https://goo.gl/fZwjDj
巢狀查詢是要視為FROM後面的表格一起看嗎?
為何第二個FROM後面是專案,最後一個FROM是看專案供應零件?
如果我先從最內層解析,
最後一個WHERE的條件是連結到兩個更外層查詢的表格(供應商和專案)
就代表我得同時看到最外層的 供應商.專案.專案供應零件 的表格
我的問題點在於要如何一步一步建立多層的巢狀查詢,由內向外、由外向內,或是同時?
這種巢狀查詢要怎麼練習呢?
------------------------------------------------------------------------------
另外,關於"所有"的sql語法,何時要用"負負得正"的方式來解(即不存在...沒有參與)
何時要用正向的存在方式來解(即存在)?
例如 Q2.列出所有有參與"一級棒供應商有參與的專案"的供應商
解答從"找出供應商其不存在任何一級棒參與的專案是沒有參與的"
PS.為何S2集合 MINUS S1集合 為空集合 代表兩者S1被包含於S2?
感謝各位,搞得我頭好痛= =
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.181.58
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1528879019.A.353.html
Database 近期熱門文章
PTT數位生活區 即時熱門文章