0.sql的执行顺序
from ..
where ..
group by ..
having ..
select .. rownum ..
order by ..
1.select的区别:
select 1+1; 此句在mysql中可以执行,但是在Oracle数据库中不可以使用,
Oracle必须要补全表名,select 1+1 from dual;(dual是为了补全语法的系统的一个虚表)
2.别名查询:
别名查询使用as关键字,可以省略
select ename 姓名,sal 工资
from emp;
别名中不能使用特殊字符或关键字,如果有的话就加双引号
select ename "姓 名",sal 工资
from emp;
3.去除重复数据:
distinct
去除单列重复数据
select distinct job
from emp;
去除多列重复数据(每一列都相同才算重复)
select distinct job, deptno
from emp;
4.空值问题
null值,代表不确定的、不可预知的内容,不可以做四则运算
nvl函数:如果参数1为null,就返回参数2
select sal
*12 + nvl(comm,
0)
from emp;
5.字符串拼接
(在oracle中双引号用于表示别名,单引号表示拼接)
oracle特有的字符串拼接符:||
select '姓名'||ename
from emp;
函数拼接:concat(str1,str2)
select concat(
'姓名',ename)
from emp;
6.转义字符
使用escape表示转义字符 escape 后面接表示转义字符的符号
(查询姓名中包含%的员工信息)
select * from emp
where ename
like '%/%%' escape '/';
7.排序
升序 asc (默认)
降序 desc
排序时注意Null问题,默认Null数据排在前面nulls first,使用nulls last 可以使null值排在后面
select * from emp
order by comm
desc nulls last;
8.数值函数
floor(value) 向下取整
ceil(value) 向下取整
round(value,
[num]) 四舍五入, num 为精确度
round(
45.926,
2)
--45.93
round(
45.926,
1)
--45.9
round(
45.926,
0)
--46
round(
45.926,
-1)
--50
round(
45.926,
-2)
--0
round(
65.926,
-2)
--100
trunc(value,
[num]) 截断,num为精确度
trunc(45.926,
2)
--45.92
trunc(
45.926,
1)
--45.9
trunc(
45.926,
0)
--45
trunc(
45.926,
-1)
--40
trunc(
45.926,
-2)
--0
trunc(
65.926,
-2)
--0
mod(value1,value2) 取余函数
9.通用函数
nvl(参数1,参数2) 如果参数1=null,就返回参数2
nvl2(参数1,参数2,参数3) 如果参数1=null,就返回参数3,否则返回参数2
nullif(参数1,参数2) 如果参数1
=参数2,就返回null,否则返回参数1
coalesce(参数1...) 返回第一个不为null的值
10.条件表达式
mysql和oracle通用
case 字段
when 值1
then 值
when 值2
then 值
when 值3
then 值
else
默认值
end
oracle特有
decode(字段,if1,then1,if2,then2,eles1)
11.
exists(查询语句)
存在的意思,当作布尔值来处理
当查询语句有结果时,返回true
当查询语句没有结果时,返回false
12.分页查询
在Oracle中没有分页查询,只能借助子查询来实现分页查询
查询第6到第10条记录
select * from (
select rownum hanghao,emp.
* from emp) tt
where tt.hanghao
between 6 and 10;
13.并集运算
union:去除重复的,并且进行排序
union all:不会去除重复的
列的类型要一致,按照顺序写,结果数量要一致(如果不足用null填充,或者写相同类型的数据填充)
14.差集运算 minus
转载于:https://www.cnblogs.com/QQ1171492144/p/10654208.html
转载请注明原文地址: https://win8.8miu.com/read-1481007.html