查询多个条件

时间:2016-04-20 18:28:08

标签: sql oracle

我想显示employees表中薪水必须在6100到6400之间的工资,first_name就像是%。

我写了这个查询:

select salary from employees where salary in (6100,6400) and first_name like 'a%';

但它显示没有选择任何行。我应该如何更改查询以查找符合这两个条件的行?

3 个答案:

答案 0 :(得分:3)

使用BETWEEN代替IN

SELECT salary 
FROM employees 
WHERE salary BETWEEN 6100 AND 6400
  AND first_name LIKE 'a%';

答案 1 :(得分:0)

以这种方式使用BETWEEN

select salary 
from employees 
where salary BETWEEN 6100 AND 6400 
and first_name like 'a%';

答案 2 :(得分:0)

由于您使用的是IN语句而不是BETWEEN语句,因此当前查询返回的数据仅包含薪水等于 6100的员工 6400 以及以小写字母' a'开头的名字。

请尝试以下方法:

SELECT SALARY
FROM EMPLOYEES
WHERE SALARY BETWEEN 6100 AND 6400
AND FIRST_NAME LIKE 'a%';