检查mysql查询是否为问题提供了最佳解决方案

时间:2019-11-21 15:49:42

标签: mysql relational-database

  

列出所有在职员工的员工姓名和地址   EmployeeType,其代码为1,时薪为€40。

我想知道这是否是从上述问题中检索信息的最佳方法

SELECT e.EmployeeName , e.EmployeeAddress
FROM Employee e JOIN EmployeeType et ON e.EmployeeType = et.EmployeeType
HAVING e.EmployeeCode = (1) AND et.TotalPay = (40);

1 个答案:

答案 0 :(得分:1)

我不会在此查询中使用“ HAVING”,我希望使用WHERE条件或在联接上添加更多参数。您可以在此LINK上了解有关HAVING的信息 与WHERE条件有点不同,因为它是在查询结果后应用的。

第一个具有简单WHERE条件的解决方案

SELECT e.EmployeeName , e.EmployeeAddress
FROM Employee e 
INNER JOIN EmployeeType et ON e.EmployeeType = et.EmployeeType
WHERE e.EmployeeCode = '1' AND et.TotalPay = '40';

第二个解决方案在连接上添加更多参数

SELECT e.EmployeeName , e.EmployeeAddress
FROM Employee e 
INNER JOIN EmployeeType et ON (e.EmployeeType = et.EmployeeType AND et.TotalPay = '40')
WHERE e.EmployeeCode = '1' ;
相关问题