Oracle数据库学习(六):where条件查询及关键字使用

条件查询

  • 使用where语句查询筛选

    		语法:select field_name1,……,field_namen from tab_name where 筛选条件
    
1. 单条件查询
  • 单条件查询

    -- 使用运算符进行筛选 =,>,>=,<,<=,<>  单个条件中
     	-- 注意:如果条件中的值是字符,必须使用单引号括起来
     	-- 查询所有员工的工资信息、
     	 select empno,ename,sal+comm 薪资 from emp
     	-- 查询SMITH的个人信息
     	 select * from emp where ename = 'SMITH';
    

    请添加图片描述

    -- 查询SMITH的薪资信息,逻辑运算符 = 
    	select empno,ename,sal,sal+comm from emp where ename='SMITH';
    

    请添加图片描述

    -- 查询工资大于1000的员工信息,逻辑符 >
    	select * from emp where sal>1000;
    

    请添加图片描述

    -- 查询工资不等于3000的员工信息
    	select * from emp where sal <> 3000 order by sal;
    

    请添加图片描述

2. 多条件查询

  • 多条件查询(where 子句关键字: and,or,like,is null,is not null,in ,between…… and

    • and 的使用

      -- 查询有津贴的员工信息
      	-- 多条件使用and关键字进行连接,筛选的是符合所有条件的数据
      	   语法:select * from tab_name where 条件1 and …… and 条件n;
      		  select * from emp where comm is not null and comm>0;
      

      请添加图片描述

      • between……and 的使用

          -- 闭区间
        	select * from emp where sal between 2000 and 3000;
        

        请添加图片描述

  • like 的使用

    -- 模糊查询
      	-- 查询姓名中包含S的员工信息
      	  语法:select * from tab_name where 字段名 like '%字符%'; --查询指定字符的数据 
       		-- %号表任意多个的任意字符;字符串中分大小写
      	  		select * from emp where ename like '%S%'; 
    

    请添加图片描述

     	-- 以S开头的员工信息
       		select * from emp where ename like  'S%';
       	-- 以S结尾的员工信息
       		select * from emp where ename like  '%S';
    

    请添加图片描述

    -- 第二个字母为A的员工信息
      		-- '_'任意一个字符
      		select * from emp where ename like '_A%'; 
    

    请添加图片描述

    -- select * from tab_name where 字段名 like '%字符2字符1' escape '字符2'
      	-- escape 将指定的字符变成转义字符
      		select * from emp where ename like '%/_%' escape '/';	
    
  • or 的使用

    -- 查询工作为SALEMAN,ANALYST,MANAGER的员工信息
    	-- 可以使用不同的字段
    	select * from emp where job = 'SALEMAN' or job = 'ANALYST' or job = 'MANAGER';
    

    请添加图片描述

  • in 的使用

    -- 查询工作为SALEMAN,ANALYST,MANAGER的员工信息
    	-- 只能使用同一字段名
    	select * from emp where job in ('SALEMAN','ANALYST','MANAGER');
    	-- 与上一样的结果
    
  • is nullis not null 的使用

    -- 字段值是否非空查询
    	语法:select * from tab_name where 字段名 is null -- 字段值为空:
    	语法:select * from tab_name where 字段名 is not null  -- 字段值非空:
    		select * from emp where comm is  null;
    

    请添加图片描述

  • 混合使用

    -- 1. 找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料.
    	select * from emp where (deptno = 10 and job = 'MANAGER') or (deptno = 20 and job = 'CLERK');
    

    请添加图片描述

    --2.显示不带有"R"的员工的姓名.
    	select ename from emp where ename not like '%R%';
    

    请添加图片描述

    	-- 查询工作为SALEMAN,MANAGER并且工资大于2500的员工信息
    		-- and关键字优先级高于or
    		-- 通过使用()提升需要执行语句的级别
    		select * from emp where (job = 'SALEMAN' or job = 'MANAGER') and sal>2500;
    

    请添加图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值