102年調查局-資料庫SQL解答

題目:































SQL解答    

(一) 難度:二顆心

SELECT name,age,Department
FROM (
      SELECT Department                //用 * 也可以
      FROM Personnel
      WHERE Salary>40000
      GROUP BY Department
      HAVING COUNT(*) >= 2
     ) AS P1
     JOIN Personnel P2
     ON P1.Department=P2.Department
WHERE Salary > 45000

說明:


1.先將薪水(salary)大於40000元之員工,人數若在兩人(含)以上找出來 。
    也就是 P1 表格。 結果為:Computerization這個部門

2.接者利用P1和P2做JOIN,產生Computerization部門裡的所有員工


3 最後將Salary >45000的員工挑出來


4 結果:


Name
Age
Department
John
28
Computerization



(二)  難度:三顆心 (考好細=..=)

 INSERT INTO Personnel
Values (‘102’, ‘Michael’, , ‘Reorganization’, 45000, -5)



1.      EmployeeID是主鍵,所以不能有重複。
2.      Telephone# 不能為空白,必須加上兩個雙引號或單引號。
3.      Age不可能為負數。
4.      結尾應該加上分號()





END~
歡迎下方留言討論。

留言

張貼留言

這個網誌中的熱門文章

數位信封 Digital Envelope

SSL的運作原理