Oracle中的SQL01

单表查询

select * from emp;
–查询表中指定字段的值
select empno,ename from emp;
select empno from emp;
–查询结果中的字段使用别名
–在字段后使用关键字 字段名 as “别名”
–注意:as关键字可以省略不写,别名中没有特殊字符双引号可以省略
select empno 员工编号,ename"员工姓名",job as 工作,mgr as “啥子领导 编号” from emp;
–连接符:字段名||‘字符’||字段名…from 表名
–||为SQL语句的连接符,只用在select和from之间
–注意:一个拼接好的连接在结果集中是作为一个崭新的字段显示,可以使用别名优化
select empno||‘的名字是’||ename as “信息” from emp;
select job||‘哈哈’||mgr as “工作信息” from emp;
–去除重复:使用distinct 字段名,字段名。。。from表名
–注意:去除重复的规则是按照行去除的,多行数据重复取其一
select distinct job,mgr from emp;
–排序 select * from 表名 order by 字段名 asc升序 升序asc 可不写
–select desc 降序
–多字段排序
–select * from emp order by 字段名1,字段名2.。。
–先按照字段1排序,如果字段1的值相同再按字段2的值
select * from emp order by empno DESC;
select job,empno from emp order by empno asc;
select * from emp order by empno,ename;
–字段的逻辑运算
select * from emp;
select empno,ename,job,sal+1000,sal+comm from emp;

  --查询国有员工的工资信息
  select empno,ename,sal+comm as "薪资" from emp
  --查询SMYH的个人信息
  select * from emp where ename = 'SMITH';
  --查询SMTH的信息信息,逻辑运算符
  select empno,ename,sal+comm from emp where ename = 'SMITH';
  --查询工资大于1000员工的信息
  select * from emp where sal>1000;
  --查询工资不等于3000的员工信息
  select * from emp where sal <> 3000;
  --练习 
     --查看工资等于1250员工的信息
  select * from emp where sal = 1250;
     --查看工作等于CLERK员工的信息
   select * from emp where job='CLERK';
   --查看工资大于1250的员工姓名和工作
   select ename,job from emp where sal>1250;
   --查看工资大于等于2000的员工信息
   select * from emp where sal >2000;
   --查看入职日期在81年后的员工信息
     --注意:Oracle默认的日期格式 日-月-年 '03-1月-1981'
     select * from emp order by hiredate;
     select * from emp where hiredate>='01-1月-1981'order by hiredate;
     
   --------多条筛选(where子句关键字 and,or,is,null,is not null,in,between and)
   --查询有津贴的员工信息 字段名 is null 字段值为null
   -- is not null 字段值不为null
   --多个条件使用and进行连接,筛选的符合所有条件的数据
      --select * from 表名 where 筛选条件1and2
     select * from emp where comm is not null and comm>0;
   
   --查询姓名中包含S的,以S开头的,以S结尾的,第二个字符为A的 LIKE关键字(模糊查询)
        --使用模糊查询 select * from 表名 where 字段名 like '%字符%' 查询指定字符的数据
        --%表示任意多个字符
      select * from emp where ename like '%S%';--包含S, 
      select * from emp where ename like 'S%'--yi S开头
      select * from emp where ename like '%S'--S jie wei de 
      select * from emp where ename like '_A%';--  (_) 表示一个字符
      select * from emp where ename like '%/_%' escape '/'
      --select * from 表名 where 字段名  like '%字符2字符1%' escape '字符2'
               --escape将指定的字符变为转义字符,转义字符可以将特殊字符转为普通字符
      select * from emp for update
      --查询工作为SALESMAN,ANALYST,MANAGER的员工信息
        --s使用or进行条件或筛选
      SELECT * from emp where job='SALESMAN' or job='ANALYST' or job='MANAGER';
        --使用in关键字,也可以筛选,但是in中的内容只能为一个字段的值。
      select * from emp where job in('SALESMAN','ANALYST','MANAGER');
      --查询工资在2000-3000之间的
      select * from emp where sal<2000 and sal>1000;
      --使用between and关键字 包含两头的数据
      select * from emp where sal between 2000 and 3000;
发布了6 篇原创文章 · 获赞 0 · 访问量 29

猜你喜欢

转载自blog.csdn.net/weixin_43421717/article/details/104256386
今日推荐