1. Oracle简介
Oracle是殷墟出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词。Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore;Oracle公司因其复杂的关系数据库产品而闻名。Oracle的关系数据库是世界第一个支持SQL语言的数据库
2. Oracle数据库和 Oracle实例
Oracle 服务器由两大部分组成, Oracle 数据库和 Oracle 实例。
Oracle数据库:位于硬盘上实际存放数据的文件,这些文件组织在一起, 成为一个逻辑整体, 即为 Oracle 数据库. 因此在 Oracle 看来,
“数据库” 是指硬盘上文件的逻辑集合, 必须要与内存里实例合作, 才能对外提供数据管理服务.
Oracle实例:位于物理内存里的数据结构.它由一个共享的内存池和多个后台进程所组成, 共享的内存池可以被所有进程访问. 用户如果要存取数据库(也就是硬盘上的文件)
里的数据, 必须通过实例才能实现, 不能直接读取硬盘上的文件.
区别:实例可以操作数据库; 在任何时刻一个实例只能与一个数据库关联; 大多数情况下, 一个数据库上只有一个实例对其进行操作.
3.注意
SQL语言大小写不敏感;但where或having条件引号中的单词大小写敏感;SQL 可以写在一行或者多行;关键字不能被缩写也不能分行;各子句一般要分行写。;使用缩进提高语句的可读性。
乘除的优先级高于加减;同一优先级运算符从左向右执行。括号内的运算先执行;括号决定一切!
空值是无效的,未指定的,未知的或不可预知的值;空值不是空格或者0
4.案例知识点分析
列的别名:
重命名一个列,便于计算。紧跟列名,也可以在列名和别名之间加入关键字‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
连接符:
把列与列,列与字符连接在一起。用 ‘||’表示。可以用来‘合成’列。
例子:
select deptno||dname from dept;
DEPTNO||DNAME
------------------------------------------------------
10ACCOUNTING
20RESEARCH
30SALES
40OPERATIONS
字符串和日期:
字符串可以是 SELECT 列表中的一个字符,数字,日期。日期和字符只能在单引号中出现。每当返回一行时,字符串被输出一次。字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。默认的日期格式是 DD-MON-RR。
行的去重复:
默认情况下,查询会返回全部行,包括重复行。在 SELECT 子句中使用关键字 ‘DISTINCT’ 删除重复行。
例子:select distinct(job) from emp;
5. SQL和 SQL*Plus
使用SQL*Plus可以:
描述表结构;编辑 SQL 语句;执行 SQL语句。 将 SQL 保存在文件中并将SQL语句执行结果保存在文件中。在保存的文件中执行语句。将文本文件装入 SQL*Plus编辑窗口。
6其它比较运算
使用 LIKE 运算选择类似的值;
选择条件可以包含字符或数字:% 代表零个或多个字符(任意个字符);_ 代表一个字符;‘%’和‘-’可以同时使用;可以使用 ESCAPE 标识符 选择‘%’和 ‘_’ 符号;回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可;使用 IS (NOT) NULL 判断空值。
例子:
select * from emp where sal between 1000 and 2000;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ----- -------------- ----- ------ ------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
select * from emp where sal in(1250,1600);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ----- -------------- ----- ------ ------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
select * from emp where comm is null;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ----- -------------- ----- ------ ------
7369 SMITH CLERK 7902 17-12月-80 800 20
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
select * from emp where comm is not null;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ----- -------------- ----- ------ ------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
select * from emp where ename like 'A%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ----- -------------- ----- ------ ------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
select * from emp where ename like '_L%';
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ----- -------------- ----- ------ ------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
select job_id from jobs where job_id like 'ST\_%' escape '\';
JOB_ID
----------
ST_CLERK
ST_MAN
7.优先级
可以使用括号改变优先级顺序
8. ORDER BY子句
使用 ORDER BY 子句排序
ASC(ascend): 升序
DESC(descend): 降序
ORDER BY 子句在SELECT语句的结尾。
可以使用不在SELECT 列表中的列排序
例子:
select empno,d.deptno,ename,dname,sal from emp e,dept d
where e.deptno=d.deptno
order by sal asc,d.deptno desc;
EMPNO DEPTNO ENAME DNAME SAL
---------- ------ ---------- -------------- -----
7369 20 SMITH RESEARCH 800
7900 30 JAMES SALES 950
7876 20 ADAMS RESEARCH 1100
7521 30 WARD SALES 1250
7654 30 MARTIN SALES 1250
7934 10 MILLER ACCOUNTING 1300
7844 30 TURNER SALES 1500
7499 30 ALLEN SALES 1600
7782 10 CLARK ACCOUNTING 2450
7698 30 BLAKE SALES 2850
7566 20 JONES RESEARCH 2975
EMPNO DEPTNO ENAME DNAME SAL
---------- ------ ---------- -------------- -----
7788 20 SCOTT RESEARCH 3000
7902 20 FORD RESEARCH 3000
7839 10 KING ACCOUNTING 5000
转载自http://blog.csdn.net/tianyazaiheruan/article/details/8759805
分享到:
相关推荐
Oracle常用SQL查询语句,Oracle常用SQL查询语句,Oracle常用SQL查询语句
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句
第一章 编写基本的SQL SELECT语句 第二章 约束和排序 第三章 ORACLE SQL 单行函数 第四章 从多表中查询数据 第五章 用组函数合计数据 第六章 子查询 第七章 操纵数据 第八章 创建和管理表 第九章 内置约束 第十章 ...
内容:本章介绍SQL语句的条件查询和排序操作。 产品:Oracle 10g 技术:SQL语句、Sql*Plus 难度:★★☆☆☆
Oracle+SQL精妙SQL语句讲解,对学习oracle技巧很有帮助
主要给大家介绍了oracle查看执行最慢与查询次数最多的sql语句,文中给出完整的示例代码,相信对大家的学习或者工作具有一定的参考价值,有需要的朋友们下面来一起看看吧。
ORACLE经典语句汇总 -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子...
查询ORACLE 系统中当前会话正在执行的有关SQL语句。
一些常见的Oracle数据库的sql语句的总结,便于快速的复习Oracle语句。
sqlserver自动生成sql语句工具sqlserver转oracle
本书是作者十年磨一剑的成果之一,深入分析与解剖oracle sql优化与调优技术,主要内容包括: 第一篇“执行计划”详细介绍各种执行计划的含义与操作,为后面的深入分析打下基础。重点讲解执行计划在sql语句执行的...
很全的oracle sql语句学习资料,从基础开始,逐层深入,让你成为sql高手
Oracle 数据库基本信息查询sql语句
oracle消耗资源的sql查询语句记录
Oracle恢复误删除数据,解除锁定的等SQL语句
Oracle_Sql语句资料oracle+110个常用函数经典SQL语句大全,可供学习参考。
oracle Sql语句二 oracle Sql语句二
本课程适应从事大数据行业开发人员或数据库开发人员以及BI开发人员,其中包含有ORACLE的理论基础知识,OracleSQL语句详细讲解、面试问题汇总、BI理论知识。汇总了Oracle在开发中常用到的各种函数如分析函数、开窗...