0

我正在努力做到以下几点:

我有两张桌子:

表员工;列 Employee_ID 和 Employee_Name。Employee_ID 是主键

表 Emp_Salary;列 Employee_Salary,它是链接到employee_ID 的外键。

我正在寻找 ID 为 40 的员工的薪水

所以例如

Select employee_salary from EMP_Salary where Employee_ID equals 40;

不幸的是,这不起作用;有什么理由吗?与外>主键关系这应该没问题?

我无法上班的另一个问题是:

 Select employee_Salary from EMP_Salary where Employee_name equals "Dan"

任何见解表示赞赏。谢谢!

4

3 回答 3

1

因为没有什么叫做equals. 你可以试试这个:

Select employee_salary from EMP_Salary where Employee_ID =40;

同样你可以试试这个:

Select employee_Salary from EMP_Salary where Employee_name ="Dan"

如果您想结合这两个查询并获得结果,您也可以考虑在 MYSQL 中查找JOINS 。

像这样的东西:

select EMPLOYEE_SALARY 
from EMPLOYEE E1 inner join EMP_SALARY E2 on E2.EMPLOYEE_ID = E1.EMPLOYEE_ID
where E1.EMPLOYEE_ID = 40;

或者

select EMPLOYEE_SALARY 
from EMPLOYEE E1 inner join EMP_SALARY E2 on E2.EMPLOYEE_ID= E1.EMPLOYEE_ID
where E1.Employee_Name= 'Dan';
于 2013-11-12T20:17:10.173 回答
0

使用 = 而不是等于:

Select employee_salary from EMP_Salary where Employee_ID = 40;

要按名称获取薪水,您将在 Employee_ID 上加入两个表,然后将 Employee_name 放在 WHERE 子句中:

Select e.employee_salary 
FROM EMP_Salary es 
INNER JOIN employee e ON e.Employee_ID = es.Employee_ID 
WHERE e.Employee_name = 'Dan';
于 2013-11-12T20:17:40.067 回答
0

你试过用INNER JOIN吗?

例如:

select EMPLOYEE_ID, EMPLOYEE_NAME, EMPLOYEE_SALARY from EMPLOYEE A inner join EMP_SALARY B on B.ID_EMPLOYEE = A.ID_EMPLOYEE where ID_EMPLOYEE = --numberhere

于 2013-11-12T20:18:47.477 回答