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 結果:
(二) 難度:三顆心 (考好細=..=)
INSERT INTO Personnel
Values (‘102’, ‘Michael’, , ‘Reorganization’, 45000, -5)
END~
歡迎下方留言討論。
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~
歡迎下方留言討論。
thanks share it
回覆刪除