
上QQ阅读APP看书,第一时间看更新
1.3 查找满足多个条件的行
问题
你想返回满足多个条件的行。
解决方案
结合使用
WHERE
子句、OR
子句和AND
子句。例如,要查找部门编号为 10 的员工、有业务提成的员工以及薪水不超过 2000 美元且部门编号为 20 的员工,可以像下面这样做。1 select * 2 from emp 3 where deptno = 10 4 or comm is not null 5 or sal <= 2000 and deptno=20
讨论
要返回满足多个条件的行,可以结合使用
AND
、OR
和圆括号。在上述解决方案中,WHERE
子句查找满足下面任何一个条件的行:DEPTNO
为 10;COMM
不为NULL
;- 薪水不超过 2000 美元且
DEPTNO
为 20。
圆括号指定将多个条件作为一个整体。
例如,下面是将前 3 个条件放在圆括号内时返回的结果集。
select * from emp where ( deptno = 10 or comm is not null or sal <= 2000 ) and deptno=20 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ------ ----- ----- ----------- ----- ---------- ------ 7369 SMITH CLERK 7902 17-DEC-1980 800 20 7876 ADAMS CLERK 7788 12-JAN-1983 1100 20