(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:MySQL
資料庫版本:9
內容/問題描述:
請列出有經手過「123科技」這位客戶訂單的所有業務員的編號與姓名(業務員的資料不
可重複列出)。
客戶
客戶編號 ----->key
名稱
電話
地址
訂單
訂單編號 ---->key
客戶編號 ----->外鍵
業務員編號 ------>外鍵
訂單日期
金額
業務員
業務員編號 ------>key
姓名
地址
電話
解1:
SELECT DISTINCT 姓名
FROM 業務員 s, 訂單編號 o, 客戶編號 c
WHERE c.名稱 = '123科技' AND c.客戶編號 = o.客戶編號 AND
o.業務員編號 = s.業務員編號
解2:
selcet DISTINCT s.編號,s.姓名
from 業務員 s
where not exist
( select *
from 客戶 c
where not exist
( select *
from 訂單 t
where t.客戶編號=c.客戶編號 AND c.業務編號=s.業務編號 AND
c.名稱 = '123科技'));
請問這樣的解法都對嗎??
我是偏向解2的解法,感覺是要列出全部相關資料的123科技,不知道我想法是否有錯呢?
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.42.155
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1411485682.A.A0C.html
※ 編輯: oklp1415 (118.171.42.155), 09/23/2014 23:21:35