遇到数据库查询问题

时间:2015-05-03 17:32:14

标签: sql database

我在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&amp; D”中列出所有员工的姓名和成本中心。
  3. 列出“生产”部门的员工人数。
  4. 列出年龄超过员工编号100的“财务”员工人数。
  5. 按部门和工资的升序列出所有员工的姓名,部门和工资。
  6. 在EMPLOYEE表StartDate列上创建索引。
  7. 列出公司中最老的员工。
  8. 将员工100的薪水更改为50,000。

1 个答案:

答案 0 :(得分:0)

使用像这样的子查询

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