列出所有在职员工的员工姓名和地址 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);
答案 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' ;