oracle各种查询,常用小知识整理,小白必看!(建议下载且在数据库中打开阅读)(内有福利)

                     

 简单语法
                                                     ————老子亲笔


-- SQL分类
  DDL(Data Definition Language):数据定义语言,用来定义表、列等;
    如:创建数据表...

  DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
    如:添加数据,修改数据,删除数据

  DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
        如:查询数据

   DTL (Data  Transaction  Language):数据事务语言,用来操作事务。    
    如:开启事务,提交事务
   DCL (Data Control Language):数据控制语言。用来操作用户和权限
    如:创建用户,授权。
   
-- 简单语法
-- in介绍
not in:和in是相反的-- 例子 select * from  emp  where sal not in(800,1600,3000);
-- like介绍
like:它只用在字符串列,表示对字符串进行模糊查询
 %:表示在这个%出现的地方可以有0个或者多个字符
 _: 表示在_出现的地方有且只能一个任意字符
not like:和like相反
like 中的转义字符:\
  在新版的oracle中,使用转义字符需要手动去定义 定义  escape '\'
  转义字符,它会把紧跟在它后面的字符当作一个普通的字符去处理
  select * from emp where ename like '%\_%' escape '\';(like转义字符示例)
  select * from emp where ename like '%S';  (like使用示例)
-- exists介绍
exists:它不和任何列一起使用,后面跟的是一个子查询(查询语句select语句),如果子查询能查出结果,那么这个条件就是成立的,查不出结果条件不成立
not exists:和exists相反
  select * from emp where exists(select * from emp where 1=0);
  select * from emp where exists(select * from emp);
-- and ,or, between and 介绍
这个都懂
-- is null,is not null 介绍
is null:表示这个值是空时条件成立
is not null:表示值不为空间条件成立
  select * from emp where comm is null;
  select * from emp where comm is not null;
-- dual 内置表的介绍
dual表:它是oracle内置的一个单行表,
  select 1 from dual;
  select 'abc' from dual;
  select 2*3 from dual;
  select 1,2,3,4 from dual;
  select 1 from emp;
  查询员工的年薪
  select sal*12 from emp;
                                             排序分组
                                                  ————老子亲笔
-- order by 升序降序
order by asc|desc: asc表示升序,desc表示降序   
  where 条件 order by 排序列的列名 asc|desc;
  order by :-- 升序降序可以连着用
  select * from emp order by deptno asc,sal asc;-- 升序降序连着用
  
-- 聚合函数 最大值。。。
count(列名|*|常数):它求记录数(数据条数)
max(列名):取最大值
min(列名):取最小值
avg(列名):取平均值
sum(列名):求和

-- 分组 group by 
where 条件 group by 分组列  或者跟 order by 排序列 asc|desc
order by 排序列 asc|desc
group by:分组的关键字,后面跟分组列名,可以是一个分组列,也可以是多个列

-- having 分组后缀条件
where 条件 group by 分组列 having 条件 order by 排序列
having:它是对分组后的数据进行筛选,条件表达式中可以使用聚合函数
where和having的异同
where:条件,where后面跟的条件比having后的条件先执行,条件中不允许使用聚合函数。
having:条件中可以使用聚合函数,一般having和group by联用。

                                                  老子的集合,联合查询语法笔记
                                                                  ————劳资亲笔

-- 集合汇总
union all(并集)-- 所有的元素直接并在一起,不删除重复元素
union  (并集除重)-- 也是所有的元素集合在一起,但是把两个集合里面重复的只留下一种,其余的删除。
{select * from emp where deptno = 30 union all select * from emp where deptno = 20-- 集合使用示例
intersect(交集)-- 交集:取两个集合重叠部分的元素
Minus(差集)-- 表示差集,第一个集合的所有元素减去两个集合重叠部分的元素
这是where形式&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忆雨兮梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值