Oracle学习总结5--单表查询

select查询

查看员工的 姓名,职位,工资

查看员工的 姓名,职位,工资

select  ename,job,sal   from emp --查看表中指定列的信息
查看员工的 姓名,职位,工资,入职时间

查看员工的 姓名,职位,工资,入职时间

/*        在显示结果集的使用用别名代替默认的列名(select后的字段名),
           注意别名只是在显示结果集的时候加上去的,并没有改变表结构
           别名的作用就是方便对结果集的信息的解释*/
select ename as 员工姓名,job as 职位,sal as 工资,hiredate 入职时间 from emp  
显示员工的姓名,职位,工资,疫情期间工资(原工资的70%)
-- 显示员工的姓名,职位,工资,疫情期间工资(原工资的70%)
select ename,job,sal,sal*0.7 as 疫情期间工资 from emp 
显示员工的姓名,职位,工资,以及年底涨薪之后的工资(sal+500)
-- 显示员工的姓名,职位,工资,以及年底涨薪之后的工资(sal+500)
select ename,job,sal, sal+500 as 涨薪之后工资 from emp
利用 *作为通配符,显示表中所有列 select * 表示 显示数据源中的所有列
-- 利用 *作为通配符,显示表中所有列  select * 表示 显示数据源中的所有列
select * from emp
如果select 后使用 * 则默认不能再显示其它列的,还想写其它列,则需要用表名.表示 强调代表的表字段
 -- 如果select 后使用 * 则默认不能再显示其它列的,还想写其它列,则需要用表名.*表示 强调*代表的表字段
 select emp.* ,sal+500 from emp 

条件查询

 /*条件查询目的:是将符合查询条件的信息放入结果集
查询条件的执行时机:对数据源(表中)每条记录根据查询条件进行判断,将符合查询条件的信息放入结果集,即where语句是在结果集生成之前被执行的
  查询工资低于2000的员工信息*/
  select * from emp where sal<2000
查询部门编号为20的员工姓名,工资,部门编号

select ename,sal,deptno as 部门编号 from emp where deptno=20

多条件查询
  /* 如果有多个条件 ,则两个条件的关系是  
  and(并且) :  条件1 and 条件2 只有两个条件同时成立最终的条件才成立
  or(或者) : 条件1 or 条件2  只要两个条件中有一个成立则最终条件就会成立
  */
  -- 查询出 工资大于1500而且部门编号为20的员工信息
  select * from emp where sal>1500 and  deptno=20
  
  -- 查询从事工作为CLERK或者工作为MANAGER的员工信息
  select * from emp where job='CLERK'  or  job='MANAGER'
  
  -- 表中的数据是严格区分大小写的
  SELECT * From Emp where job='SALESMAn'
-- 注意查询时数据要与字段类型对应
   -- 数值型
   -- 查询工资大于2500的员工信息
   select * from emp where sal>2500
   
   -- 字符型:用单引号声明
   -- 查询职位为CLERK的员工信息
   select * from emp where job ='CLERK'

  --  数值型
     -- 1、用to_date将字符转为对应时间
      -- 查询在1982-02-16之前入职的员工
      select * from emp where hiredate < to_date('1982-02-16','yyyy-mm-dd')
      -- 2、用to_char方法从时间中提取出指定信息的字符形式 (date -->字符)
      -- 查询出员工的姓名,工资,和入职年份
     select ename,sal,to_char(hiredate,'yyyy') from emp
     -- 查询出员工的姓名,工资,和入职时间(格式为yyyymmdd)
     select ename,sal,to_char(hiredate,'yyyy.mm.dd') from emp
     -- ""在Oracle中表示强制使用
      select ename,sal,to_char(hiredate,'yyyy"年"mm"月"dd"日"') from emp;
      -- 查询所有在1981年入职的员工信息
      select * from emp where to_char(hiredate,'yyyy')='1981'
      -- 查询在1981-02-20入职的员工信息
      select * from emp where hiredate  = to_date('1981-02-20','yyyy-mm-dd')
      select * from emp where to_char(hiredate,'yyyy-mm-dd') ='1981-02-20'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值