SQL一道问题求解。很简单的!在线等!

来源:百度知道 编辑:UC知道 时间:2024/04/29 15:32:32
问题是下面有3个table分别是:
Aircraft (aID, aName, cruisingRange)

Certified (eID, aID)

Employees (eID, eName, Salary)

现在是要写一个SQL query找出aircraft的名字aName,但是这架aircraft的飞行员(employee)的工资(salary)要在$80,000以上.

谢谢大家。在线等!

我写的query是

SELECT ANAME FROM AIRCRAFT

WHERE AID = CERTIFIED.AID

AND CERTIFIED.EID = EMPLOYEES.EID

AND EMPLOYEES.SALARY > $80,000;

但是老师说的all the tables of concerned attributes need to specify in the FROM clause. There is only one table specified in your SQL code.
希望大家帮忙改一下!!谢谢!!

SELECT ANAME FROM AIRCRAFT,CERTIFIED,EMPLOYEES

WHERE AIRCRAFT.AID = CERTIFIED.AID

AND CERTIFIED.EID = EMPLOYEES.EID

AND EMPLOYEES.SALARY > $80,000;

上面一句话的意思大概是所有连接的表都要在FROM项里显示出来,也就是
SELECT ANAME FROM 这一项
你查询的字段包含在三个表里面,所以在这后面三个表都要列出来。
还有要查询显示的项也要放在Selected和From中间 可以改为

SELECT ANAME,EMPLOYEES.SALARY FROM AIRCRAFT,Certified,Employees

WHERE AID = CERTIFIED.AID

AND CERTIFIED.EID = EMPLOYEES.EID

where EMPLOYEES.SALARY > $80,000;

这是一个等值内连接