2015-05-03 33 views
-2

我正在爲5月6日的數據庫考試學習,並且在前幾年的論文中遇到了困難。我正在嘗試做'd'部分(列表中的4個)。在數據庫查詢時遇到問題

到目前爲止,我有這個,但不知道如何去完成它

select count(*) as peopleOlderThanEmployeeNo100 
from EMPLOYEE, DEPT 
where (dept.name = 'finance') and (employee.dateOfBirth < ?); 

問題4

SQL數據庫具有以下表:

[EMPLOYEE]  
    [EmpNo]  Integer (Primary Key) 
    [Name]  Char(30) 
    [Salary]  Decimal(7,2) 
    [StartDate] Date 
    [DateOfBirth] Date 
    [Dept]  Char(12) (Foreign key references DEPT(Name)) 

[DEPT] 
    [Name]  Char(12) (Primary Key) 
    [CostCentre] Char(4) 

寫SQL語句請執行以下操作:

  1. 列出「財務」部門中所有員工的姓名。
  2. 列出「財務」或「R & D」中所有員工的名稱和成本中心。
  3. 列出「生產」部門中的員工人數。
  4. 表的「財經」員工誰是不是員工數100
  5. 名單部門和工資的升序全體員工的姓名,部門和薪水較舊的數量。
  6. 在EMPLOYEE表的StartDate列上創建一個索引。
  7. 列出公司中最老的員工。
  8. 將員工100的工資改爲50,000。
+1

所以一個子查詢你嘗試過什麼,到目前爲止,究竟是它的問題? – Mureinik

+0

我試圖查詢類似於此選擇計數(*)的EMPLOYEE中的peopleOlderThanEmployeeNo100,DEPT其中(dept.name ='finance')和(employee.dateOfBirth <?); – user3308338

+0

我必須選擇年齡大於empNo 100的金融人數。我完成了一項數據庫任務,其價值已經達到了我的成績的50%,但我在週三的考試中獲得了50%的勝利。當我查看以前的報告時,我開始進行上述查詢,但無法執行d – user3308338

回答

0

使用這樣

select count(*) as peopleOlderThanEmployeeNo100 
from EMPLOYEE, DEPT 
where (dept.name = 'Finance') 
and (employee.dateOfBirth < (select dateOfBirth 
           from EMPLOYEE 
           where EmpNo = 100)); 
+0

我從我的一個班級同學那裏得到了解決方案,它幾乎與你有什麼,爲輸入而歡呼,在所有以前的考卷中似乎都有類似的疑問,希望我明天能通過這個考試 – user3308338