Oracle数据库 拾漏补缺

select语句的基本使用

可以查询需要的列,行,可以进行多表链接,连接查询。

select e.*,e.sal/30 from p_emp e

select 后面跟的是要显示的结果,可以是通过运算或者连接符号得出的伪列

null  空值

在数据库中不确定的值,未定义的值叫做空值

空值不能引入到运算中,+ - * / 和空值的结果都是空

注意:在查询中可以给表定义一个别名以便于多个表的区分

||  链接运算符

||  运算符可以链接列或者字符串到另一个列,生成的字符串表达式作为一个目标列

--将姓名和职位显示到一起
select e.ename||e.job from p_emp e ;
--更有好的显示方法
select e.ename||‘   的职务是  ‘||e.job from p_emp e ;

||  操作符也可以用于批量操作

--生成批量删除表命令
select ‘drop table ‘|| tname || ‘;‘ from tab

distinct  查询去重复

--去重复
select distinct e.job from p_emp e;

限制数据的返回

where  关键字

where 后面跟判断语句  只有表中结果为 true 结果会显示

注意:如果用字符作条件,需要注意大小写

查询Student表中“95031”班
select s.* from student s where s.class= ‘95031‘

and:连接条件,  与

or: 或

not: 非

in:属于

后面可以是多个数据,但数据类型需要一致

查找空值

不能用 = , 因为在 select 中 = 是比较大小,但是 null 空值 没有大小

注意: 在 update 中, =  是赋值, = 后面可以跟 null。

应使用 is  not  null

--去空值
select e.job from p_emp e where e.mgr is not null;

like 模糊匹配

exits:exists其实等同于表关联后,只取主表部分内容而已,用exists时 小表在前大表在后

connect by

一般用来查找存在父子关系的数据,也就是树形结构的数据;其返还的数据也能够明确的区分出每一层的数据。

select * from table [start with condition1]
    connect by [prior] id=parentid
--这种用法就表示从下往上查找数据,可以理解为从叶子节点往上查找父级几点,用第一层数据的parentid去跟表记录里面的id进行匹配,匹配成功那么查找出来的就是第二层数据;--上面的那种就是从父级节点往下查找叶子节点。
select * from table [start with condition1]
    connect by id= [prior] parentid
--第一种,修改prior关键字位置
select t.*, level, CONNECT_BY_ROOT(id)
  from tab_test t
 start with t.id = 4
connect by t.id = prior t.fid;

--第二种,prior关键字不动 调换后面的id=fid逻辑关系的顺序
select t.*, level, CONNECT_BY_ROOT(id)
  from tab_test t
 start with t.id = 4
connect by prior t.fid = t.id;
时间: 2024-08-03 17:31:31

Oracle数据库 拾漏补缺的相关文章

2019/5/12 查漏补缺

目录 2019/5/12 查漏补缺 数据类型分为两大类:基本类型和引用类型: java中类的继承关系 关于接口 重载和重写 静态变量 java中的关键字和保留字 数据库操作 实现数据库收回部分权限的操作 关于数据库错误类型 SQL四种语言: 数据库常见的四种故障 数据库设计六个阶段: Java的异常分为两种 外模式,内模式 数据库范式 语句null的书写 2019/5/12 查漏补缺 数据类型分为两大类:基本类型和引用类型: 基本类型只能保存一些常量数据,引用类型除了可以保存数据,还能提供操作这

hibernate查漏补缺2

Hibernate对象状态 瞬时(transient):由new操作符创建,且尚未Hibernate Session关联.瞬时对象不会被持久化到数据库,也不会被赋予持久化标识. 持久(persistent):持久化的实例在数据库中有对应的记录,并拥有一个持久化标识. 持久化的实例可能是刚被保存,或刚被加载的,无论哪一种,它都只存在于相关联的Session作用范围内.这点很重要.Hibernate会检测处于持久化状态的对象的任何变动,在当前操作单元执行完毕时,将对对象数据与数据库同步. 脱管(de

查漏补缺1

前言 Java的部分有基础.设计模式.IO.NIO.多线程,之后有时间还会把集合这 部分补上去,这么多内容里面,难免有一些知识点遗漏,本文主要是讲解这些遗漏的知识点.这些知识点,不是特别大的难点,所以没有必要专门写一篇文章讲解: 但是这些知识点,也不是一两句话就说得清楚的,所以放在这里.查漏补缺系列文章,每篇5个知识点,只要有值得研究的问题就会写上来. Thread.sleep(XXX)方法消耗CPU吗? 这个知识点是我之前认识一直有错误的一个知识点,在我以前的认识里面,我一直认为 Thread

20165103java程序设计第八章查漏补缺

20165103java程序设计第八章查漏补缺 相关内容知识总结 相关内容知识总结 MYSQL数据库的安装与使用(这里用的是xampp) JDBC语句连接数据库,关闭连接 条件与顺序查询 增删补操作 使用预处理语句 通用查询和事务管理 课上内容补做 原文地址:https://www.cnblogs.com/8cloud33zzk/p/8908047.html

Entity Framework 查漏补缺 (一)

明确EF建立的数据库和对象之间的关系 EF也是一种ORM技术框架, 将对象模型和关系型数据库的数据结构对应起来,开发人员不在利用sql去操作数据相关结构和数据.以下是EF建立的数据库和对象之间关系 关系数据库 对象 数据库 DbContext类 表 DbContext中的DbSet<实体类名> 表间的关联 实体类之间的关联 字段 实体类的公有属性 单条数据 单个实体类的对象 约束(主键.外键默认值) 实体类中的特性 了解EDM( 实体数据模型) EF使用概念模型. 映射和存储模型.三个模型来描

Oracle数据库速查知识文档

项目介绍 该项目记录了Oracle相关的速查知识汇总,主要涉及了oracle基础使用.SQL基础.oracle函数.oracle触发器.oracle高级查询.PL/SQL编程基础.PL/SQL存储过程等.若有新增,还将不断添加中. SQL基础部分 1.简介 Oracle Database,又名Oracle RDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统.本课程主要介绍Oracle的SQL基础,包括表空间的概念,如何登录Oracle数据库,如何管理表及表中的数据,以及约束的应

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

Oracle数据库——触发器的创建与应用

一.涉及内容 1.理解触发器的概念.作用和类型. 2.练习触发器的创建和使用. 二.具体操作 (实验) 1.利用触发器对在scott.emp表上执行的DML操作进行安全性检查,只有scott用户登录数据库后才能向该表中执行DML操作.(第1题中,user是系统函数,返回当前用户.字符串中使用两个单引号表示一个单引号.) 要求:分别以system用户和scott用户对emp 表执行DML操作,试验触发器的运行效果. (1)在scott用户下创建触发器 语句: create or replace t

使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 开启服务 2 配置监听 找到下面文件: 记事本打开 在导航器的下拉菜单中选择:将数据库添加到树, 然后点击确定 然后使用PL/SQL就可以登录了: 3 建立新表空间和新用户 使用system用户登录:执行如下sql语句建立表空间和新用户,以及给用户授权 建立表空间 Create tablespace myyyjc datafile 'D:\app\Administra