对SQL非常陌生。必须回答这个问题。我有两张桌子。“雇员”及“部门”
问题是。雇员姓名、部门首长及所有薪金在5,000元至10,000元之间的雇员的薪金
这就是我试过的。
select employee_name, hod, salary
from employees
where salary < 5000 and > 10000;
“10000”项下缺失的表达式;
有什么想法吗?我需要加入部门吗?
发布于 2015-12-19 17:22:31
如果有语法错误,最后一行必须是(每次指定的列名):
where salary < 5000 and salary > 10000;
但这样做是没有意义的,因为没有满足这些标准的价值。您需要使用or
的条件
where salary < 5000 or salary > 10000
不包括5000到10000之间的工资。
您还可以使用在两者之间实现相同的目标:
where salary not between 5000 and 10000
发布于 2015-12-19 17:22:18
WHERE
子句中的每个条件都需要独立,对于第二个标准,它不知道哪个字段应该是> 10000
,您必须指定:
select employee_name, hod, salary
from employees
where salary < 5000
and salary > 10000;
这将排除所有记录,因为它是逐行比较,而且每个记录只能有一个salary
值,因此很可能需要OR
而不是AND
,或者在实际查询中有不同的字段。
有定义一系列数字/日期的BETWEEN
,但是它是包容性的-- WHERE salary BETWEEN 5000 and 10000
将包含所有>= 5000和<= 10000,因此在这种情况下没有帮助,有些人宁愿完全避免它,因为日期可能很棘手。
https://stackoverflow.com/questions/34377066
复制