Re: [SQL ] 資料查詢問題

看板Database作者 (錢盒子)時間9年前 (2015/01/26 10:27), 9年前編輯推噓1(105)
留言6則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《oklp1415 (天生我材)》之銘言: : (針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) : 資料庫名稱:MYSQL : 資料庫版本:MySQL 伺服器版 : 內容/問題描述: : http://ppt.cc/ITNl 抱歉,前天趕著出門沒檢查就貼給你. 我現在就跟你解釋一下這題要怎麼解. 我們先來取得薪水>40000的人 SELECT * FROM Personnel where Salary > 40000; 然後來找同部門並且薪水>40000的人2人(含)以上的部門 SELECT Department FROM Personnel where Salary > 40000 group by Department having count(Department) >=2; 再來找薪水>45000的人,他的名字 年齡 部門 SELECT Name,Age,Department FROM Personnel where Salary > 45000; 最後把二個Queries串起來,找同部門並且薪水>40000的人2人(含)以上的部門裡面薪水 >45000的人. SELECT Name,Age,Department FROM Personnel where Salary > 45000 and Department = (SELECT Department FROM Personnel where Salary > 40000 group by Department having count(Department) >=2) ; 就是答案了. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.48.96 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1422239256.A.E3E.html ※ 編輯: cocobox (210.61.48.96), 01/26/2015 10:28:12

01/27 13:26, , 1F
讚!!簡單明瞭,感謝指導。
01/27 13:26, 1F

01/27 13:29, , 2F
小弟這裡再提出個語法上小問題,如果內部查詢
01/27 13:29, 2F

01/27 13:29, , 3F
Salary > 45000, 外部查詢Salary > 40000改成這樣,是
01/27 13:29, 3F

01/27 13:30, , 4F
找不到資料的,想問說這樣的差異點是在哪? 因為常常會寫
01/27 13:30, 4F

01/27 13:31, , 5F
成自身的語法,不像大大這麼漂亮的結構!!
01/27 13:31, 5F

01/29 10:03, , 6F
因為你兩個條件互換就變空集合了啊....
01/29 10:03, 6F
文章代碼(AID): #1KnQOOu- (Database)
文章代碼(AID): #1KnQOOu- (Database)