一、访问方式:
(1)命令行
(2)sqlplus客户端
(3)浏览器(http://127.0.0.1:5560/isqlplus/,如果不能访问,则isqlplusctl start)
二、用户解锁:
登录:sqlplus sys/密码 as sysdba;
解锁:alert user scott account unlock;
三、sql语言:
sql1992 structured query language 结构化查询语言
sql1999两套不同的语言
机器(第一代语言),汇编(第二代语言),java c++(第三代语言) sql语言(第四代语言,无条件,循环,分支)
四、scott中的表
emp(雇员信息): comm津贴 job工种 mgr经理人
dept(部门信息)
salgrade(薪水等级信息):grade local hisal
五、select语句
1、基本的sql语句
select *from emp;
select ename,sal*12 from emp;
dual表:只有一个字段
select 2*3 from dual:算出的只有一个结果
select sysdate from dual:系统日期
select ename, sal*12 anuual_sal from emp;
//起别名,别名中有特殊字符,则加双引号,双引号保持住原有的格式
select enmae,comm from emp;好多人没有津贴,0和空值不一样。0是有值
select ename,sal*12+comm from emp;//算出有的是空值,任何含有空值的表达式结果都是空值
select ename||sal from emp; 相当于java中的字符串+
select ename||'asfasdfasdf' from emp;
select ename|| 'asfasdfa''asdfasdf' from emp 正确语句
select distinct deptno from emp;
select distinct deptno,job from emp; 这两个在一起的组合是重复的,就把它去掉
2、带where的sql语句
select *from emp where deptno=10;
select *from emp where ename='CLARK'
select ename,sal from emp where sal>1500;
select ename,sal,deptno from emp where deptno<>10;不等于
select ename,sal from emp where ename>'CBA'
select ename,sal from emp where sal between 800 and 1500;
select ename,sal from emp where sal>= 800 and sal<1500;
select ename,sal,comm from emp where comm is (not) null;
select ename,sal comm from emp where sal in (800,1500,2000);
select ename,sal,comm from emp where ename in ('smith','king','abc');
select ename,sal,hiredate from emp where hiredate>'20-2月-81';
select ename,sal from emp where deptno=10 and sal>1000;
select ename,sal from emp where deptno=10 or sal>1000;
select ename,sal from emp where sal not in (800,1500);
select ename from emp where ename like '%ALL%'; %多个
select ename from emp where ename like '_A%'; _一个
select ename from emp where ename like '%\%%'; 转义字符
select ename from emp where ename like '%$%%' escape '$'; //$是转义字符
select *from dept;//见这个表的顺序
select *from dept order by deptno desc;
select empno,ename from emp order by empno asc;不写默认按升序排列
select empno,enmae form emp where deptno<>10 order by empno asc;
select ename,sal,deptno from emp order by deptno asc,ename desc; deptno相同的情况下排列ename
select ename,sal*12 annal_sal form emp where ename not like '_A%' and sal>800 order by sal desc;
3、sql函数
3.1单行函数
select lower(ename) from emp;
select ename from emp where lower(emane) like '_a%'
select ename from emp where ename like '_a%' or ename like '_A%';
select substring(ename,1,3) from emp
select char(65) from dual;//acsci转换为字符
select asci('A') form dual;
select round(23.652) from dual 24
select round(23.652,2) from dual 23.65
select round(23.652,-1) from dual 20
select to_char(sal,'$99,999.9999') from emp;
//9代表一位数字,没有就不显示
select to_char(sal,'L99,999.9999') from emp;
select to_char(sal,'$00,000.0000') from emp;没有就显示0
select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from emp;
select ename,hiredate from emp where hiredate>to_date('1981-2-20 12:34:56','YYYY-MM-DD HH24:MI:SS');
select sal from emp where sal>to_number('$1,250.00','$9,999.99');
select ename,sal*12 +nvl(comm,0) from emp;
3.2 多行函数
select max(sal) from emp;
select min(sal) from emp;
select avg(sal) from emp;
select to_char(avg(sal),'99999999.99')from emp;
select round(avg(sal),2)from emp;
select sum(sal) from emp;
select count(*) from emp;
select count(*) from emp where empno=10;
select count(comm) from emp 这个字段如果不是空值,就算一个
select count(distinct deptno) from emp;
4、group by语句
//每个部门的平均薪水 意思是分组之后再平均
select deptno,avg(sal) from emp group by deptno;分组之后再平均
//按照两个字段的组合进行分组,组合一样分为一组
select deptno ,job, max(sal) from emp group by deptno,job;
//薪水值最高的那个薪水的那个人的名字
select ename from emp where sal=(select max(sal) from emp);
//每一个部门里头挣钱最多的那个人的名字
select deptno,max(sal) from emp group by deptno;
5、having语句
//对分组进行限制 where对单条记录的进行过滤, where后进行分组
//平均薪水大于2000的组取出来;
select avg(sal),deptno form emp group by deptno having avg(sal)>2000;
//完整sql语句的执行顺序
from--> where--> group by--> having--> order by
//示例句子
select deptno avg(sal) from emp where sal>1200 group by deptno having avg(sal)>1500 order by avg(sal) desc;
6 子查询
//谁挣得钱最多
select ename,sal from emp where sal=(select max(sal) from emp);
// 求出哪些人的工资位于所有人的平均工资之上
select ename from emp where sal>(select avg(sal) from emp);
//求出按部门分组之后每个部门里挣钱最多的那个人。
select max(sal),deptno from emp group by deptno;一张表
select ename ,sal from emp join (select max(sax) max_sal,deptno from emp group by deptno) t
on(emp.sal=t.max(say) and emp.deptno=t.deptno);//没问题
//某人的名字和他的经理人的名字求出来
select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr=e2.empno;//自连接
分享到:
相关推荐
《Oracle学习笔记一》 在IT领域,数据库管理是至关重要的技术之一,Oracle作为全球领先的数据库管理系统,其深度和广度的学习对于任何IT从业者来说都是一项必要的技能。本笔记主要聚焦于Oracle的基础知识,旨在帮助...
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...
Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...
Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...
在Oracle学习笔记中,对安装卸载和配置的详尽讲解,不仅为学习者提供了操作指导,而且还涉及到了数据库管理的一些基础知识点。这些内容对于数据库管理员和开发人员来说都是十分重要的,因为它们是操作Oracle数据库的...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...
Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...
根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ...以上是基于提供的内容整理出的Oracle学习笔记中的关键知识点。通过理解这些基础知识,可以更好地管理和操作Oracle数据库。
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...
超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。
### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...
Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...
总的来说,“MSDN Oracle学习笔记”是一份全面的资源,涵盖了Oracle数据库从基础到进阶的各个方面,无论你是初学者还是有经验的DBA,都能从中受益。通过深入学习和实践,你可以提升自己的Oracle技能,为在实际工作中...
oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记