有关oracle的一些知识点
1:group by,having,order by
它们出现的顺序依次是group by,having,order by 。
其中 group by用于对查询结果进行分组,其后的条件必须出现在select语句中;
having用于限制分组显示的结果,就是过 滤分组,满足条件的分组将被显示,
比如查询到一个部门的信息,在部门内部再进行排序处理。
比如:select avg(sal), max(sal) ,deptno from emp group by deptno having
avg(sal)>2000; 此为显示平均工资高于2000的部门的平均工资和最高工资;
2:max,min,avg,sum,count这些为oracle中的组函数
3:字节是计算机处理的文件单位,字符是对字母,汉字及其它符号的统称一个
字母是一个字节, 一个汉字是两个节。
4:DDL数据库定义语句。如:creat , alter, drop
DML数据库操作语句。如:select,delete,insert,update,
5:复制一张表为另外一张表
creat table test1 as select * from test2 where 1=2;此为将表test2 复制为表test1 ,
当为1=2时不复制数据,1=1时复制数据;
6:向一张表中导入另一张表中的数据
insert into test3 (id,name) select id ,name from emp where name="a";
7:所谓的外键就是指A表中的一个字段a_id2指向B中的主键id,我们就定义a_id2为A表中的外键 ;
创建时foreign key(a_id2)reference B(id);这时B表为主表,只有B存在时A 表中的a_id2才
有存在的意义;
8:连接n个表,需要n-1个条件否则会产生笛卡尔集,通过相应的条件来去除相同的选项;
9:exist与in的作用很相似,但它的执行效率比in高;
10:A查询 union B查询此为筛选掉重复的记录,对查询出的结果集进行排序运算, 删除重复记录再返回结果;
A查询 union all B查询将两个查询结果简单的合并后返回;
11:几个函数的应用:对一张表的一个字段进行操作输出首字母大写,其余的字母小写
思路:先确定首字母,再确定其余的字母,最后进行合并
select upper(substr(ename,1,1)) || lower(substr(ename,2,length(ename)-1)) from emp;
12:oracle执行查询时是先从尾部开始扫描的,一直扫到头部。
13:查询出工资高于自己所在部门平均工资的员工信息
select a2.name, a2.sal from emp a2, (select deptno,avg(sal) mysal from emp group by deptno) a1 where
a2.deptno= a1.deptno and a2.sal>a1.mysal
14: oracle中“<>”表示不等于;
15:oracle可以隐式的将输入的数值转换成整数,所以一般输入时加上单引号,让其自动转换;
插入数据时对每个字 段用单引号,让其自动转换;
16:oracle中不支持“=null”这种样式,所以在查询某个字段为空时可以这样写:
select * from emp where brithday is null;
17:floor对给定的数字向下取整,round(12345.666,2)对给定的数字进行四舍五入
保留两位有效数字; math.round(-8.9)=-9表示在原有数值的基础上加0.5再向下取整;
18:insert into test (name,pass) select name,pass from test;此为无限自增加语句;
本文介绍了Oracle数据库中SQL语句的实用技巧,包括GROUP BY、HAVING、ORDER BY的使用顺序,常见聚合函数如MAX、MIN的应用,以及如何创建表、导入数据、使用外键等。还介绍了如何通过连接多个表获取所需数据,并提供了提高查询效率的方法。
469

被折叠的 条评论
为什么被折叠?



