-1

以下は、私の EMPLOYEES テーブルです。

create table EMPLOYEES
    (EmpID    char(4)         unique Not null,
     Ename    varchar(10),
     Job      varchar(9),
     MGR      char(4),
     Hiredate date,
     Salary   decimal(7,2),
     Comm     decimal(7,2),
     DeptNo   char(2)         not null,
         Primary key(EmpID),
         Foreign key(DeptNo) REFERENCES DEPARTMENTS(DeptNo));


insert into EMPLOYEES values (7839,'King','President',null,'17-Nov-11',5000,null,10);
insert into EMPLOYEES values (7698,'Blake','Manager',7839,'01-May-11',2850,null,30);
insert into EMPLOYEES values (7782,'Clark','Manager',7839,'02-Jun-11',2450,null,10);
insert into EMPLOYEES values (7566,'Jones','Manager',7839,'02-Apr-11',2975,null,20);
insert into EMPLOYEES values (7654,'Martin','Salesman',7698,'28-Feb-12',1250,1400,30);
insert into EMPLOYEES values (7499,'Allen','Salesman',7698,'20-Feb-11',1600,300,30);
insert into EMPLOYEES values (7844,'Turner','Salesman',7698,'08-Sep-11',1500,0,30);
insert into EMPLOYEES values (7900,'James','Clerk',7698,'22-Feb-12',950,null,30);
insert into EMPLOYEES values (7521,'Ward','Salesman',7698,'22-Feb-12',1250,500,30);
insert into EMPLOYEES values (7902,'Ford','Analyst',7566,'03-Dec-11',3000,null,20);
insert into EMPLOYEES values (7369,'Smith','Clerk',7902,'17-Dec-10',800,null,20);
insert into EMPLOYEES values (7788,'Scott','Analyst',7566,'09-Dec-12',3000,null,20);
insert into EMPLOYEES values (7876,'Adams','Clerk',7788,'12-Jan-10',1100,null,20);
insert into EMPLOYEES values (7934,'Miller','Clerk',7782,'23-Jan-12',1300,null,10);

以下は私の DEPARTMENTS テーブルです。

create table DEPARTMENTS
(DeptNo   char(2)  unique Not null,
DName    varchar(14),
Location varchar(13),
Primary key(DeptNo));

insert into DEPARTMENTS values (10,'Accounting','New York');
insert into DEPARTMENTS values (20,'Research','Dallas');
insert into DEPARTMENTS Values (30,'Sales','Chicago');
insert into DEPARTMENTS values (40,'Operations','Boston');

以下は私の質問です:

select ename, salary
from EMPLOYEES
where Salary >
(select AVG(salary)
from EMPLOYEES);

SQL フィドルのデモ: http://www.sqlfiddle.com/#!3/61ca4/1

4

2 に答える 2

2
select e.ename,
       e.salary,
       d.DName
  from EMPLOYEES as e
      inner join DEPARTMENTS as d on e.DeptNo = d.DeptNo
where e.Salary > (select AVG(salary) from EMPLOYEES);

SQL フィドルのデモ: http://www.sqlfiddle.com/#!3/61ca4/2

于 2013-04-17T22:32:04.480 に答える