Oracle数据库:逻辑运算and,or,not和各种运算的优先级控制

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!

oracle系列文章:
【1】Oracle数据库:啥是oracle数据库?你为啥要学oracle?
【2】Oracle数据库:oracle 11g安装教程,已安装好的oracle各个文件夹的作用,oracle用户权限怎么样
【3】Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法
【4】Oracle数据库:创建表空间,创建新用户,给用户分配对象、角色和系统权限,登录新用户建表
【5】Oracle数据库:链接配置,包括sqlnet.ora里面的transnames.ora配置数据库标识符SID,listener暂时简单了解
【6】Oracle数据库:net configureation assistant工具配置监听listener,配置本地网络访问服务器上的数据库
【7】Oracle数据库:oracle字符类型、数字类型、创建表表名的命名规则
【8】Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写
【9】Oracle数据库:表的关系:一对多,一对一,多对多,一一继承和修改的关系,表不是重点,重点是数据和约束关系
【10】Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作
【11】Oracle数据库:约束行限制where语句,判断条件,比较条件,字符串日期格式,in,like,escape,null语句


文章目录

  • Oracle数据库:逻辑运算and,or,not和各种运算的优先级控制
    • @[TOC](文章目录)
  • oracle逻辑条件关系
  • 优先规则
  • 总结

oracle逻辑条件关系

常规骚操作

SQL> select employee_id,job_id,last_name,salary from employees where job_id like '%MAN%' and salary>=10000;EMPLOYEE_ID JOB_ID     LAST_NAME                     SALARY
----------- ---------- ------------------------- ----------114 PU_MAN     Raphaely                    11000.00145 SA_MAN     Russell                     14000.00146 SA_MAN     Partners                    13500.00147 SA_MAN     Errazuriz                   12000.00148 SA_MAN     Cambrault                   11000.00149 SA_MAN     Zlotkey                     10500.00201 MK_MAN     Hartstein                   13000.007 rows selected

and
一个模糊匹配,一个薪水限制
好办

SQL> select employee_id,job_id,last_name,salary from employees where job_id like '%MAN%' or salary>=10000;EMPLOYEE_ID JOB_ID     LAST_NAME                     SALARY
----------- ---------- ------------------------- ----------100 AD_PRES    King                        24000.00101 AD_VP      Kochhar                     17000.00102 AD_VP      De Haan                     17000.00108 FI_MGR     Greenberg                   12008.00114 PU_MAN     Raphaely                    11000.00120 ST_MAN     Weiss                        8000.00121 ST_MAN     Fripp                        8200.00122 ST_MAN     Kaufling                     7900.00123 ST_MAN     Vollman                      6500.00124 ST_MAN     Mourgos                      5800.00145 SA_MAN     Russell                     14000.00146 SA_MAN     Partners                    13500.00147 SA_MAN     Errazuriz                   12000.00148 SA_MAN     Cambrault                   11000.00149 SA_MAN     Zlotkey                     10500.00150 SA_REP     Tucker                      10000.00156 SA_REP     King                        10000.00162 SA_REP     Vishney                     10500.00168 SA_REP     Ozer                        11500.00169 SA_REP     Bloom                       10000.00EMPLOYEE_ID JOB_ID     LAST_NAME                     SALARY
----------- ---------- ------------------------- ----------174 SA_REP     Abel                        11000.00201 MK_MAN     Hartstein                   13000.00204 PR_REP     Baer                        10000.00205 AC_MGR     Higgins                     12008.0024 rows selected

就是and改为or即可

SQL> select employee_id,job_id,last_name,salary from employees where job_id not in('IT_PROG','ST_CLERK','SA_REP');EMPLOYEE_ID JOB_ID     LAST_NAME                     SALARY
----------- ---------- ------------------------- ----------100 AD_PRES    King                        24000.00101 AD_VP      Kochhar                     17000.00102 AD_VP      De Haan                     17000.00108 FI_MGR     Greenberg                   12008.00109 FI_ACCOUNT Faviet                       9000.00110 FI_ACCOUNT Chen                         8200.00111 FI_ACCOUNT Sciarra                      7700.00112 FI_ACCOUNT Urman                        7800.00113 FI_ACCOUNT Popp                         6900.00114 PU_MAN     Raphaely                    11000.00115 PU_CLERK   Khoo                         3100.00116 PU_CLERK   Baida                        2900.00117 PU_CLERK   Tobias                       2800.00118 PU_CLERK   Himuro                       2600.00119 PU_CLERK   Colmenares                   2500.00120 ST_MAN     Weiss                        8000.00121 ST_MAN     Fripp                        8200.00122 ST_MAN     Kaufling                     7900.00123 ST_MAN     Vollman                      6500.00124 ST_MAN     Mourgos                      5800.00EMPLOYEE_ID JOB_ID     LAST_NAME                     SALARY
----------- ---------- ------------------------- ----------145 SA_MAN     Russell                     14000.00146 SA_MAN     Partners                    13500.00147 SA_MAN     Errazuriz                   12000.00148 SA_MAN     Cambrault                   11000.00149 SA_MAN     Zlotkey                     10500.00180 SH_CLERK   Taylor                       3200.00181 SH_CLERK   Fleaur                       3100.00182 SH_CLERK   Sullivan                     2500.00183 SH_CLERK   Geoni                        2800.00184 SH_CLERK   Sarchand                     4200.00185 SH_CLERK   Bull                         4100.00186 SH_CLERK   Dellinger                    3400.00187 SH_CLERK   Cabrio                       3000.00188 SH_CLERK   Chung                        3800.00189 SH_CLERK   Dilly                        3600.00190 SH_CLERK   Gates                        2900.00191 SH_CLERK   Perkins                      2500.00192 SH_CLERK   Bell                         4000.00193 SH_CLERK   Everett                      3900.00194 SH_CLERK   McCain                       3200.00195 SH_CLERK   Jones                        2800.00EMPLOYEE_ID JOB_ID     LAST_NAME                     SALARY
----------- ---------- ------------------------- ----------196 SH_CLERK   Walsh                        3100.00197 SH_CLERK   Feeney                       3000.00198 SH_CLERK   OConnell                     2600.00199 SH_CLERK   Grant                        2600.00200 AD_ASST    Whalen                       4400.00201 MK_MAN     Hartstein                   13000.00202 MK_REP     Fay                          6000.00203 HR_REP     Mavris                       6500.00204 PR_REP     Baer                        10000.00205 AC_MGR     Higgins                     12008.00206 AC_ACCOUNT Gietz                        8300.0052 rows selected

NOT IN
不在呗

优先规则

之前我们学了很多的运算条件,到底谁最先执行呢????


between的优先级很低
or最低

最好就是加上括号()
可读性高


且,高
或,低

SQL> select last_name, job_id, salary from employees where job_id='SA_REP' or job_id='AD_PRES' and salary>15000;LAST_NAME                 JOB_ID         SALARY
------------------------- ---------- ----------
King                      AD_PRES      24000.00
Tucker                    SA_REP       10000.00
Bernstein                 SA_REP        9500.00
Hall                      SA_REP        9000.00
Olsen                     SA_REP        8000.00
Cambrault                 SA_REP        7500.00
Tuvault                   SA_REP        7000.00
King                      SA_REP       10000.00
Sully                     SA_REP        9500.00
McEwen                    SA_REP        9000.00
Smith                     SA_REP        8000.00
Doran                     SA_REP        7500.00
Sewall                    SA_REP        7000.00
Vishney                   SA_REP       10500.00
Greene                    SA_REP        9500.00
Marvins                   SA_REP        7200.00
Lee                       SA_REP        6800.00
Ande                      SA_REP        6400.00
Banda                     SA_REP        6200.00
Ozer                      SA_REP       11500.00LAST_NAME                 JOB_ID         SALARY
------------------------- ---------- ----------
Bloom                     SA_REP       10000.00
Fox                       SA_REP        9600.00
Smith                     SA_REP        7400.00
Bates                     SA_REP        7300.00
Kumar                     SA_REP        6100.00
Abel                      SA_REP       11000.00
Hutton                    SA_REP        8800.00
Taylor                    SA_REP        8600.00
Livingston                SA_REP        8400.00
Grant                     SA_REP        7000.00
Johnson                   SA_REP        6200.0031 rows selected

反正AD那个薪水得超过15000
其他的随意了
or优先级低
最好这么写

SQL> select last_name, job_id, salary from employees where job_id='SA_REP' or (job_id='AD_PRES' and salary>15000);LAST_NAME                 JOB_ID         SALARY
------------------------- ---------- ----------
King                      AD_PRES      24000.00
Tucker                    SA_REP       10000.00
Bernstein                 SA_REP        9500.00
Hall                      SA_REP        9000.00
Olsen                     SA_REP        8000.00
Cambrault                 SA_REP        7500.00
Tuvault                   SA_REP        7000.00
King                      SA_REP       10000.00
Sully                     SA_REP        9500.00
McEwen                    SA_REP        9000.00
Smith                     SA_REP        8000.00
Doran                     SA_REP        7500.00
Sewall                    SA_REP        7000.00
Vishney                   SA_REP       10500.00
Greene                    SA_REP        9500.00
Marvins                   SA_REP        7200.00
Lee                       SA_REP        6800.00
Ande                      SA_REP        6400.00
Banda                     SA_REP        6200.00
Ozer                      SA_REP       11500.00LAST_NAME                 JOB_ID         SALARY
------------------------- ---------- ----------
Bloom                     SA_REP       10000.00
Fox                       SA_REP        9600.00
Smith                     SA_REP        7400.00
Bates                     SA_REP        7300.00
Kumar                     SA_REP        6100.00
Abel                      SA_REP       11000.00
Hutton                    SA_REP        8800.00
Taylor                    SA_REP        8600.00
Livingston                SA_REP        8400.00
Grant                     SA_REP        7000.00
Johnson                   SA_REP        6200.0031 rows selected

加了括号,好读一些

要求,名字可以是那俩,他们的薪水都得大于15000

SQL> select last_name, job_id, salary from employees where (job_id='SA_REP' or job_id='AD_PRES') and salary>15000;LAST_NAME                 JOB_ID         SALARY
------------------------- ---------- ----------
King                      AD_PRES      24000.00

因为只有一个人薪水大
所以其他的部门都不行
你看看上面那个表

这种优先级的错误,一定要注意,查不出来,因为不报错……

最好加括号,表明优先级


总结

提示:重要经验:

1)
2)学好oracle,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

Oracle数据库:逻辑运算and,or,not和各种运算的优先级控制相关推荐

  1. Oracle数据库的基本语法

    注意:Oracle数据库中的字段值严格区分大小写. 1.         建立表 表约束的创建: 2.         使用数学符号:当我们的表中列包含数字列时,我们可以用相应的表达式对其进行查询,其 ...

  2. Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例

    Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多 ...

  3. Oracle数据库:子查询、单行子查询,多行子查询,in,any,all语句,子查询的练习案例

    Oracle数据库:子查询.单行子查询,多行子查询,in,any,all语句,子查询的练习案例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 ...

  4. Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+)

    Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+) 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大 ...

  5. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例

    Oracle数据库:oracle内连接inner join on,多表查询各种自链接.内连接.外连接的练习示例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

  6. Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询

    Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开 ...

  7. Oracle数据库:自然连接natural join,using语句,注意避免写交叉连接

    Oracle数据库:自然连接natural join,using语句,注意避免写交叉连接 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的 ...

  8. Oracle数据库——限定查询,范围查询,NULL判断-02

    限定查询 简单查询会将一张数据表之中的全部数据行进行返回,如果说现在表中的数据行过多,那么肯定无法进行浏览,所以必须对显示的数据行的返回做一个限定. 限定查询的是在简单查询的基础上增加若干个查询的限定 ...

  9. Softing dataFEED OPC Suite将西门子PLC数据存储到Oracle数据库中

    一 背景 现代工业产品不仅生产批量大,而且过程自动化程度高,这对于用户追溯产品设计与制造过程中产生的数据而言,无疑是个新的挑战.与此同时,制造商们对产品制造过程中产生的大量工艺数据也愈发重视,并不断寻 ...

最新文章

  1. pandas 读取sqlserver_13个Pandas实用技巧,请收好
  2. oracle云产品是什么意思,Oracle云端产品线也要AI化,ERP云等4大主力云产品先升级...
  3. Boost:以协程的方式实现带有单个默认值的echo服务器的实例
  4. iOS WebView 加载本地资源(图片,文件等)
  5. PowerDesigner从数据库导入
  6. oracle中rownum和row_number()的区别
  7. 计算机视觉开源代码集合(转载)
  8. 顺丰拟发行58亿可转债:15亿投入航空运力,12亿还贷款
  9. 罚函数(penalty function)的设计
  10. 数学建模算法与应用学习blog
  11. 光栅透过率计算 (Matlab)
  12. 简单个人网页设计作业 静态HTML旅行主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页Dreamweaver设计作业
  13. Redis的持久化方式
  14. Swift 阳历转农历,农历转公历
  15. 影响未来的十大网络技术
  16. python爬虫从入门到放弃(一)初识爬虫
  17. 爱看广场舞的老爷爷的笔记 --shell命令
  18. RPA机器人的6大收益
  19. 数值分析---Jacobi迭代法
  20. 软件卸载后服务器还有个人信息吗,服务器软件的卸载记录

热门文章

  1. [中医养生] 听JT叔叔讲中医基础理论 第三讲
  2. 解决: Eclipse 提示内存不足
  3. Webstorm 的 Tab 键怎样调整缩进值? 调节成缩进成2个空格或者4个空格
  4. 中国实践对接新营销时代 ,腾讯刘胜义对话“营销学之父”科特勒
  5. python对市场营销的认识和理解_我对市场营销的认识
  6. 帆软FCP第二题:数据库中有一张地区数据统计表,但是并不规则
  7. 老子《道德经》第十二章
  8. 老子《道德经》第四十二章
  9. simulink永磁直驱风机PMSG一次调频,虚拟惯性,下垂控制IEEE9三机九节点系统
  10. win10系统中环境变量path变成一行显示