SQL Cookbook:一、检索记录(3)查找满足多种条件的行

问题

    查找满足多种条件的行。

解决方案

    使用WHERE子句以及OR和AND子句。例如,如果要查询部门10中的所有员工的信息,所有得到提成的员工信息,以及部门20中工资不超过$2000元的员工信息,可使用如下代码:

select *
from emp
where deptno = 10
      or comm is not null
      or sal <= 2000 and deptno=20

讨论

    可以使用AND,OR和圆括号的组合来查询满足多个条件的行。在解决方案的例子中,WHERE子句查找满足下列条件的行:

  • DEPTNO字段为10,或者
  • COMM字段为NULL,或者
  • 工资最多为$2000,并且DEPTNO字段为20

    圆括号中的条件可作为一个整体来判断。

    例如,考虑下面的方法如果使用圆括号,结果会有什么变化:

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

版权说明:作者:张颖希PocketZ's Blog
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本文翻译内容取自网络,纯粹是练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖!

版权说明:作者:张颖希PocketZ's Blog
出处:http://www.cnblogs.com/PocketZ
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
若本文为翻译内容,目的为练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖

原文地址:https://www.cnblogs.com/PocketZ/p/1714813.html