Oracle数据库
表
表是从属于用户的
查询表
- 查询表(用户名.表名),当前用户查询自己的表时,用户名.可以省略,其他用户查询 别的用户表 ,不能省略,同时必须存在权限。
- 表名
- 列是字段,字段默认值是null
- 字段名
- 表头 (行标题)
- 字段类型
- number
- 整数、小数
- char
- 定长字符串
- varchar2
- 变长字符串,姓名表示常用
- date
- 表示日期
- number
- 字段约束
- 主键
- 非空、唯一
- 外键约束
- 主键
- 记录
- 数据
- 去除重复
- distinct
- select distinct deptno from emp
- distinct
- 别名
- 默认省略as
- 字段别名可以使用as
- select ename as “雇员 姓名” from emp;
- 表别名不能使用as
- “”:原样输出,可以存在空格与区分大小写
- select ename as 雇员 姓名 from emp;
- select ename as " Ename" from emp;
- 别名不能用在where后
- 字符串
- 使用’ ’表示字符串(注意区分” ”) ,拼接使用 ||
- select ‘my’ from emp;
- select ename||‘a’||‘–>’ info from emp;
- 用 || 拼接的是ename字段中的记录
- ‘ ’ 表示的字符串存在于相应的字段的记录中
- 使用’ ’表示字符串(注意区分” ”) ,拼接使用 ||
- 伪列
- 不存在的列,构建虚拟的列
- 如count列和name列
- select 1*2 as count,‘cmj’ as name from emp;
- 如count列和name列
- 字符串可以作为伪列存在
- 不存在的列,构建虚拟的列
- 虚表
- 用于计算表达式,显示单条记录的值
- select 1+1 from dual;
- 用于计算表达式,显示单条记录的值
- null
- null 遇到数字参与运算的结果为 null
- select 1+null from dual;
- null 遇到字符串参与运算的结果为 空串
- select ‘1’||null from dual;
- nvl(判定字段,默认值)函数
- 判断字段是否为null,如果为空,取默认值0,否则取字段实际值
- select ename,sal*12+nvl(comm,0) from emp;
- null 遇到数字参与运算的结果为 null
- 查询行(记录)
- where 过滤行记录条件 ,条件有
- a)、= 、 >、 <、 >=、 <=、 !=、 <>、 between and
- b)、and 、or、 not、 union、 union all、 intersect 、minus
- c)、null :is null、 is not null、 --not is null
- d)、like :模糊查询 % _ escape(‘单个字符’)
- f)、in 、 exists(难点) 及子查询
- 且 或 非
- and、 or、 not
- null
- null不能使用条件判断,只能使用is
- select * from emp where comm is null;
- null不能使用条件判断,只能使用is
- 集合操作
- Union,并集(去重) 对两个结果集进行并集操作,不包括重复行同时进行默认规则的排序;
- Union All,全集(不去重) 对两个结果集进行并集操作,包括重复行,不进行排序 ;
- Intersect,交集(找出重复) 对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
- Minus,差集(减去重复) 对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序
- like :模糊查询
- %:零个及以上(任意个数的)的字符
- _:一个字符
- 遇到内容中包含 % _ 使用escape(‘单个字符’)指定转义符
- in 与 exists
- in
- in相当于使用or的多个等值,定值集合 ,如果存在 子查询,确保 类型相同、字段数为1,如果记录多,效率不高,用于 一些 少量定值判断上
- exists
- exists条件为true,存在记录则返回结果,后续不再继续 比较查询,与查询的字段无关,与记录有关
- in
- 排序
- 使用 ORDER BY 排序,排序不是真实改变存储结构的顺序,而是获取的集合的顺序。
- 升序 :asc(默认)
- 多字段: 在前面字段相等时,使用后面的字段排序
- 空排序: 降序为 desc,注意 null 为最后
推荐阅读
- Oracle数据库|Oracle数据库-表设计(三范式)的使用
- 面试|MYSQL中的索引与事务———javaweb(8)(面试必考)
- 数据库数据恢复ASM磁盘组掉线,ASM实例不能mount的Oracle数据库数据恢复案例
- 服务器数据恢复IBM存储服务器硬盘坏道离线oracle数据库损坏的数据恢复案例
- DBeaver连接oracle数据库
- 北亚数据恢复服务器断电导致Oracle数据库报错(“system01.dbf需要更多的恢复来保持一致性”的数据恢复案例)
- 数据库|TYUT太原理工大学2022数据库大题之概念模型设计
- Oracle数据库的增删改,索引视图以及序列的创建和销毁
- 北亚数据恢复异常断电导致Oracle数据库报错(ORA-01110错误)且没有备份的数据恢复