SQL数据操作和查询
1、Oracle中可以把查询的结果根据结果集中的表结构和数据形成一张新表。
CREATE TABLE 表名 AS SELECT语句,例如:
CREATE TABLE INFOS1 AS SELECT * FROM INFOS;
使用上面命令创建的新表中,不存在任何约束,并且把查询的数据一起插入到新表中。如果只复制表结构,只需使查询的条件不成立(比如where 1=2),就不会查询从出任何数据,从而复制一个表结构。
2、INSERT 向表中插入一个结果集
INSERT INTO INFOS2 SELECT * FROM INFOS;
在这种语法下,要求结果集中每一列的数据类型必须与表中的每一列的数据类型一致,结果集中的列的数量与表中的列的数量一致
3、TRUNCATE
在数据库操作中, TRUNCATE命令(是一个DDL命令)可以把表中的所有数据一次性全部删除,语法是:
TRUNCATE TABLE 表名
TRUNCATE和DELETE都能把表中的数据全部删除,他们的区别是:
①. TRUNCATE是DDL命令,删除的数据不能恢复;DELETE命令是DML命令,删除后的数据可以通过日志文件恢复。
②. 如果一个表中数据记录很多,TRUNCATE相对DELETE速度快。
由于TRUNCATE命令比较危险,因此在实际开发中,TRUNCATE命令慎用。
4、算数运算
Oracle中的算术运算符,没有C#中的算术运算符丰富,只有+、-、*、/四个,其中除号(/)的结果是浮点数。求余运算只能借助函数:MOD(x,y):返回x除以y的余数。
5、字符串连接操作符(||)
SELECT (ENAME || 'is a ' || JOB) AS "Employee Details" FROM EMP WHERE SAL>2000;
6、消除重复行
在Oracle查询中结果中,可能出现若干行相同的情况,那么可以使用DISTINCT消除重复行。具体的用法如示例:
SELECT DISTINCT 列名 FROM 表名;
7、连接查询
在SQL Server中已经学习过内联接(inner join)、外联接(outer join),外联接又分为左外联接(left outer join)和右外联接(right outer join)。Oracle中对两个表或者若干表之间的外联接用(+)表示。
① 内联接:
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM emp e,dept d WHERE e.deptno=d.deptno AND e.SAL>2000;
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e INNER JOIN DEPT d ON e.DEPTNO=d.DEPTNO WHERE e.SAL>2000
② 外联接
(+):是Oracle专用的联接符,在条件中出现在左边指右外联接,出现在右边指左外联接。如:
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e ,DEPT d WHERE e.DEPTNO(+)=d.DEPTNO
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e RIGHT OUTER JOIN DEPT d ON e.DEPTNO=d.DEPTNO
SQL数据操作和查询的更多相关文章
- 《MySQL数据操作与查询》- 综合项目 - 学生管理系统
		<MySQL数据操作与查询>综合项目需求 一.系统整体功能 维护学生信息.老师信息和成绩信息. 支持按多种条件组合查询学生信息和成绩信息. 二.系统的信息需求 一个班级有一个讲师一个班主任 ... 
- [.NET] SQL数据总笔数查询
		[.NET] SQL数据总笔数查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ... 
- SQL 数据操作(实验六)
		SQL 数据操作 emp.dept 目标表结构及数据 INSERT 命令的使用与结果验证 2.1把一名新来雇员信息插入到EMP表中:雇员号:1011 姓名: 王晓明 入职日期:今天 ```insert ... 
- MySQL数据操作与查询笔记 • 【目录】
		持续更新中- 我的大学笔记>>> 章节 内容 第1章 MySQL数据操作与查询笔记 • [第1章 MySQL数据库基础] 第2章 MySQL数据操作与查询笔记 • [第2章 表结构管 ... 
- oracle-2-sql数据操作和查询
		主要内容: >oracle 数据类型 >sql建表和约束 >sql对数九的增删改 >sql查询 >oracle伪例 1.oracle的数据类型 oracle数据库的核心是 ... 
- SQLite支持的SQL数据操作
		事务处理 Posted on 2013 年 1 月 1 日 by 林溪 事务为一组SQL命令的集合,这些SQL命令在执行时不可进行分割,即要么全部执行这些SQL命令,要么一个都不进行执行,事务操作 ... 
- sql server操作2:查询数据库语句大全【转】
		注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一.实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二.实验内容和要求 使用SQL查询分析器查询数据,练 ... 
- 数据库入门(mySQL):数据操作与查询
		增删改 单表查询 多表查询 一.增删改 1.插入数据记录(增) insert into table_name(field1,field2,field3,...fieldn) valuses(value ... 
- MySQL数据操作与查询笔记 • 【第3章 DDL 和 DML】
		全部章节 >>>> 本章目录 3.1 使用 DDL 定义数据库表结构 3.1.1 SQL 简介 3.1.2 维护数据库和创建数据表 3.2 使用 DDL 维护数据库表结构 ... 
随机推荐
- Java调用C/C++编写的第三方dll动态链接库(zz)
			这里主要用的方法是JNI.在网上查资料时看到很多人说用JNI非常的复杂,不仅要看很多的文档,而且要非常熟悉C/C++编程.恐怕有很多人在看到诸如此类的评论时已经决定绕道用其他方法了.本文将做详细的介绍 ... 
- 【LeetCode】95. Unique Binary Search Trees II
			Unique Binary Search Trees II Given n, generate all structurally unique BST's (binary search trees) ... 
- DEV winform treelist设置背景图像
			treelist是一个复杂的控件,包括选中行,奇偶行等均可以单独设置显示效果,空白区域上背景图像的代码如下: private void treeList1_CustomDrawEmptyArea(ob ... 
- “奥特曼攻打小怪兽”java学习打怪升级第一步
			---恢复内容开始--- 练习:回合制对战游戏:奥特曼和小怪兽进行PK,直到一方的血量为0时结束战斗,输出谁胜利了! 不难看出场景中有两个对象:”奥特曼“这一对象抽象为”Ao"类: ... 
- OpenFlow
			What is OpenFlow? OpenFlow is an open standard that enables researchers to run experimental protocol ... 
- word2vec 实践
			关于word2vec,这方面无论中英文的参考资料相当的多,英文方面既可以看官方推荐的论文,也可以看gensim作者Radim Řehůřek博士写得一些文章.而中文方面,推荐 @licstar的< ... 
- centos安装php扩展
			我自己的方法 先卸载php 重新安装 再安装扩展 1 rpm -qa|grep php 查看php相关 2 rpm-e 名称 一个个删除,个别需要先删除其他组件才能删除, 3 再用 rpm -qa|g ... 
- RabbitMQ 发布/订阅
			我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式). 为了验证这种模式,我们准备构建一个简单的日志系统.这个系统包含两类程序,一类程序发动日志,另一类程序接收和 ... 
- dblink连接的目标端 session不断的问题。
			来源于:http://blog.itpub.net/22782896/viewspace-676842/ 1.在使用了dblink的存储过程中,可以显示的手动关闭dblink连接,具体写法如下(测试存 ... 
- 使用Retrofit和Okhttp实现网络缓存。无网读缓存,有网根据过期时间重新请求 (转)
			使用Retrofit和Okhttp实现网络缓存,更新于2016.02.02原文链接:http://www.jianshu.com/p/9c3b4ea108a7 本文使用 Retrofit2.0.0-b ... 
