Oracle数据库(三)表操作,连接查询,分页
复制表
--复制表 create table new_table as select * from Product
--复制表结构不要数据
在where后面跟一个不成立的条件,就会仅复制表的结构而不复制表的内容。
删除表
--删除表 delete table new_table --删除表,无法找回 truncate table new_table
序列
序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以
通过查询检查当前值,或使序列增至下一个值。
使用语句创建序列
----创建序列 create sequence user_seq increment start nomaxvalue nominvalue nocache
多表查询
select * from p_emp e ,p_dept d where e.deptno=d.deptno
笛卡尔积
笛卡尔积在sql中实现的方式是交叉连接,所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数的一个概念,表示两个表中每一行数据任意组合。
简单来说,就是两个表不加条件限制的进行连接,出现的数据行数是两个表数据行数的乘积。
内连接
select * from p_emp e ,p_dept d where e.deptno=d.deptno
内连接的局限性:如果有空值,查询结果可能会有缺失。
解决办法:
以一个表为基准进行外链接:
--左外链接 select * from p_emp e left join p_dept d on e.deptno=d.deptno
或者使用 + 符号
select * from p_emp e, p_dept d where e.deptno=d.deptno(+)
查询用户的表
--查询所有表 select * from user_tables
自连接
有些情况可能会遇到,将一个表的相同或者不同列的数据进行比较,需要将一个表来进行当做两个表进行自连接,进而比较其中的数据再进行查询
--自连接 select e1.ename,e2.ename from p_emp e1,p_emp e2 where e1.empno=e2.mgr
层次查询
oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:
select ... from <TableName>
where <Conditional-1>
start with <Conditional-2>
connect by <Conditional-3>
;
<Conditional-1>:过滤条件,用于对返回的所有记录进行过滤。
<Conditional-2>:查询结果重起始根结点的限定条件。
<Conditional-3>:连接条件
--层次查询 select e.*,level from p_emp e connect by prior e.empno=e.mgr start with e.ename='KING' order by level
伪列:
level
rownum
rownum是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,
而且rownum不能以任何表的名称作为前缀。
需要注意的是:如果按照主键排序,rownum的顺序会跟着变化,如果不是按照主键排序,rownum不会变。
--查询前十列数据 --6-10列数据,嵌套查询 ) r
Oracle数据库(三)表操作,连接查询,分页的更多相关文章
- Oracle 数据库基本操作——表操作:查询
目录: 1.基本查询 2.多表查询 3.多行查询 4.集合查询 2.连接 3.嵌套查询 1.基本查询 语法: select column|others{,columnName|others} from ...
- oracle系列(三)表操作基础
支持的数据类型: 字符型char 定长 最大2000varchar2() 变长 最大4000clob 字符型大对象 最大4G 数字型number范围 -10的38次方到10的+38次方;number( ...
- PowerDesigner连接Oracle数据库建表序列号实现自动增长
原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长 创建表就不说了.下面开始介绍设置自动增长列. 1 在表视图的列上创建.双击表视图,打开table properties — ...
- MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习
MySQL之多表查询 阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建 ...
- 关于oracle数据库 跨表查询建立 视图的方法
工作中很多时候都会遇到需要将两个不同的表空间甚至数据库的表进行联合查询或者建立视图的情况. 不同的表空间查询我们可以通过在将要查询的表前面加上 表空间的对应的用户名来实现,如有两个表空间分别对应两个用 ...
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表
最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...
- oracle 数据库创建表
好好好好久没更新了,最近真是堕落了,做的都是小菜鸟做的东西,都没得写,但是最近数据库突然从mysql换到oracle,哈哈哈哈哈,还真是挺复杂的 1.首先建表 fund 是表名称 其他的是字段名称 c ...
- Oracle 数据库整理表碎片
Oracle 数据库整理表碎片 转载:http://kyle.xlau.org/posts/table-fragmentation.html 表碎片的来源 当针对一个表的删除操作很多时,表会产生大量碎 ...
- Oracle数据库安装图文操作步骤1
Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官 ...
随机推荐
- ASP.NET Core 认证与授权[6]:授权策略是怎么执行的?
在上一章中,详细介绍了 ASP.NET Core 中的授权策略,在需要授权时,只需要在对应的Controler或者Action上面打上[Authorize]特性,并指定要执行的策略名称即可,但是,授权 ...
- TensorFlow简易学习[3]:实现神经网络
TensorFlow本身是分布式机器学习框架,所以是基于深度学习的,前一篇TensorFlow简易学习[2]:实现线性回归对只一般算法的举例只是为说明TensorFlow的广泛性.本文将通过示例Ten ...
- Flash真的老了,HTML5将取代其地位
简单讲一些网页开发的趋势吧! Flash老了 Flash是一个落后于时代的技术,靠对客户端的高资源占用率来获取传输过程的低带宽占用. Flash不再安全 Flash是一个落后于时代的技术,靠对客户端的 ...
- [react] React 新手必须知道的 N 件事
尽量用 props & onChange,不要用 ref 获取引用然后调用方法.详情参考我的文章:一等公民 props & onChange React 只是一个视图框架,请尽量在 C ...
- 如何滚动更新 Service?- 每天5分钟玩转 Docker 容器技术(102)
在前面的实验中,我们部署了多个副本的服务,本节将讨论如何滚动更新每一个副本. 滚动更新降低了应用更新的风险,如果某个副本更新失败,整个更新将暂停,其他副本则可以继续提供服务.同时,在更新的过程中,总是 ...
- 基于laravel5.5和vue2开发的个人博客
本项目使用 PHP 框架 Laravel 5.5 进行开发.系统后台使用了Vuejs + Element-UI实现完全的前后端分离. 项目地址:http://phpjourney.xin(正在备案,暂 ...
- CCF-201409-2-画图
问题描述 试题编号: 201409-2 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩 ...
- 如果Centos没有桌面,怎么修改IP地址
修改前备份!!! 修改前备份!!! 修改前备份!!! [PHP] 纯文本查看 复制代码 ? 1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑,输入以下 ...
- 关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
在win7,win10,vs2015,vs2017之间折腾了两天,死活就是调不出来Mysql数据源.真是活见鬼了. 直接说方案吧. 一,卸载你所安装过的mysql-connector-net.mysq ...
- Postgres的tuple的组装
1.相关的数据类型 我们先看相关的数据类型: HeapTupleData(src/include/access/htup.h) typedef struct HeapTupleData { uint3 ...