【Oracle】查询和运算符

基本查询 - select

  • 查询所有数据
    select * from 表;

  • 查询指定列数据
    select 表名.列1,表名.列2 from 表名;

  • 查询且不包含重复数据 – distinct(去掉重复列)
    select distinct 列 from 表名;

    //查询公司设置了哪些岗位 
    select distinct * from emp;

聚合函数

  • 聚合函数配合分组
    先分组,再统计,聚合函数前后要加列,必须对要加的列分组
//查询每个岗位上的员工人数
select job,count(*) from emp group by job;
//查询每个部分上的员工人数
select dept.dname,dept.demptno,count(*) from emp 
inner join dept on emp.deptno = dept.no 
group by dept.no,dept.dname
  • case … end的用法
case
    when 列 条件1 then 结果1
    when 列 条件2 then 结果2
    else 其他结果 
end
列:
select case
    when sal>=1 and sal<=2000 then '蓝领'
    when sal>=2001 and sal<=4000 then '白领'
    else '金领'
    end as "级别"(注:as可以加上字符,空格,下划线)  
from emp;

运算符

  • 连接运算符 –||
    select empno || ename as 编号姓名列 from emp;

  • 加法运算符 – +
    select empno+deptno from emp;


伪列 (每张表都有伪列,系统生成的列)

  • rownum
    返回查询结果集的序列,不是固定的值
    < <= (注:用作查询语句后面作条件判断)

  • rownum的特点
    a. rownum先对结果集进行序列,如果加上order by 伪列则不会序列
    b. rownum并不是和值固定对应的

select rownum,emp.* from emp where rownum=5

c. rowid(它的值和列是固定一一对应的地址)

 - select rowid,emp.* from emp where empno = 7400;
 - select rowid,emp.* from emp where rowid='AAAMGZAAE';

排序

  • 语法
order byasc(升序) / desc(降序)
  • 单例排序
//查询员工信息,按部门编号降序排序
select * from emp order by deptno desc;
//查询员工信息,按薪水排序
select * from emp order by sal desc;
  • 多列排序
//查询员工信息,按部门降序排序,且薪水高的排前面
select * from emp order by demptno,sal desc;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值