语言分类:
1.ddl:create,alter,drop
2.dcl:grant ,revoke
3.dml:select,insert,delete,update
完全匹配的内连接:
简洁写法: select tt1.name,t2,name from t1,t2 where t1.id=t2.id
标准写法:select t1.name,t2.name from t1 join t2 on t1.id=t2.id
不完全匹配的内连接:
左外连接:select t1.name,t2.name from t1 left outer join t2 on t1.id=t2.id
select t1.name,t2.name from t1,t2 where t1.id=t2.id(+)(oracle9.0以上方式,t1表的数据无条件显示出来)
右连接:select t1.name,t2.name from t1,t2 where t1.id(+)=t2.id
子查询:
独立子查询:select * from e where id in (select id from d);
相关子查询:select * from e where id in(select id#不可用*,否则会出现too many value错误# from d where id=e.id and id='03');
总结:有时在相同的情况下,表连接与子查询都能实现的,用表连接执行,效率会高些
orcle独有的并集(union)与交集(intersect):
1.union:只起显示作用,当有重复时,只显示一个,select ename from t1 union select dname from t2;
2.intersect:可返回两个语句中重复的行, select eid from t1 intersect select id from t2;
批量插入:
1.insert into e(id,name) select id,name from d;
2.create table tee as (select * from t);
视图:是一条存储起来的select语句,是数据的显示方式,也可作为简单报表
作用:安全(权限管理,隐藏数据结构),方便,一致性
限制:组成的表有两个或以上,不允许对两个或以上的表同时更新,只能对一个表进行更新,但可用替代触发器解决这个问题
视图中有聚合函数distance,不允许更新
同义词:一个对象替代名,使不同用户模式下可进行操作同一个对象
公共同义词:dba建立,所有用户可使用
私有同义词:当前用户建立,自己使用
序列:发布一系列唯一数字整型的oral对象,独立型的事务,每次访问时都会按照事先规定的增加或减少,自动完成,提交完成回滚事务,不影响序列的变化,以表的形式存储,默认从1开始,每次增量为1
eg:create sequence myseq
select myseq.netxtval from dual
or
select myseq.currval from dual
触发器:特殊的过程,不接受参数
事务:用于确保数据完整性和并发处理的能力,一条或一组sql语句作为一个逻辑单元保障语句成功或失败
隔离性(加锁):隔离性越强,并发性越差,否则,并发性越强
原子性:手段 一致性:目的 永久性:物理上
行级触发器:
select * from t1 for update(加锁过程),表示查完后立马上要修改(严厉的规则),不允许有别的用户修改操作,直到当前用户修改完成,别的用户处于等待状态(但可以查询)
触发器语句体中不可用commit,rollback;但可在触发器中抛出异常,阻止操作
重要的内存表:old,new
old;内存中的特殊逻辑表,删除时数据移到old边中,结构与删除表一样
eg:delete from emp where id=:old.id
insert into emp(eid,ename,id) values(1,'ee',:new.id);
update emp set id=:new.id where id=:old.id;
记录:是由几个相关值构成的复合变量,常用于支持select语句的返回值,使用记录可将一行数据看成一个单元进行处理,而不必将每一列单独处理,使用前需事先声明
%type 制定字段 %rowtype 整个表的字段类型
游标:是一种pl/sql控制结构,可对sql语句的处理进行显式控制,便与对表的行数据逐条处理,可传参数,数据量大时不推荐使用
补充:判断字段是否为空: is not null
分享到:
相关推荐
Oracle SQL是数据库管理员和开发人员在Oracle数据库系统中进行数据查询和管理的重要工具。这篇笔记主要涵盖了Oracle SQL的...这两份“Oracle SQL笔记”文档应包含了上述各个方面的详细解释和实例,值得仔细阅读和学习。
标题“20170909学习sql笔记”表明这是一个关于SQL学习的资料,可能包含了一天的学习记录或者一个教程的集合。SQL,全称Structured Query Language,是用于管理和处理关系数据库的标准语言。这个标题暗示我们将探讨...
sql笔记.md
【Oracle SQL笔记详解】 Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键知识点的详细解释: 1. **登录Oracle数据库**:通常以超级管理...
### Oracle SQL 笔记知识点详解 #### 一、SQLPlus 命令及环境变量 Oracle_sid - **SQLPlus 命令位置**:在 Oracle 安装目录下的 `bin` 文件夹中,可以通过 SQLPlus 来执行 SQL 命令。 - **Oracle_sid 环境变量**:...
除了这些基础操作,SQL笔记可能还会涉及更复杂的查询技术,比如联接(JOIN)、子查询、视图(VIEW)的创建和使用,以及事务处理(TRANSACTION)等。联接允许你从多个表中合并数据,子查询可以在主查询内部执行查询,...
这篇超有用的SQL笔记涵盖了多个关键知识点,包括数据检索、数据操作以及SQL查询的高级技巧。以下是对这些知识点的详细解释: 1. **限制查询结果数量**: - `SELECT TOP n * FROM 表名` 是SQL Server中获取前n行...
根据提供的文件信息,我们可以整理出以下关于SQL Server 2005的相关知识点: ### SQL Server 2005概述 SQL Server 2005是一款由微软公司开发的关系型数据库管理系统,是SQL Server系列中的一个重要版本。它在SQL ...
总的来说,“清华滕永昌SQL笔记”提供了关于SQL和Oracle数据库系统的基础知识和实际操作示例,对于学习和理解SQL以及Oracle系统的使用非常有帮助。通过掌握这些内容,用户可以有效地进行数据查询、管理、分析和控制...
### Head First SQL 笔记概览 #### 第一章 创建与管理数据库 - **创建数据库** 使用 `CREATE DATABASE` 语句可以创建一个新的数据库。语法格式如下: ```sql CREATE DATABASE database_name; ``` - **使用...
hivesql笔记.sql
总结来说,本篇SQL笔记详细介绍了在MySQL数据库中使用SQL进行数据操作的各个方面,包括数据库和表的创建、数据的插入、查询语句的构造以及数据的修改和删除。通过对这些基本知识点的理解和掌握,我们可以更有效地...
SQL笔记-副本.sql
总的来说,这份“详细的sql笔记”涵盖了数据库的基础知识,特别是Oracle数据库的使用和函数应用,以及正则表达式的实践。这些内容对于数据库管理员、开发人员或数据分析人员来说都是非常宝贵的学习资源,能够帮助...
【SQL笔记与实例】是一份特别为初学者设计的学习资源,旨在帮助新手快速掌握SQL(Structured Query Language)的基础知识和实际应用。SQL是用于管理和处理关系数据库的强大工具,广泛应用于数据存储、分析和报告。 ...
sql 笔记.md
T-SQL,全称Transact-SQL,是微软SQL Server数据库管理系统中使用的SQL扩展,它在标准SQL的基础上...这份"很好的T-SQL笔记"应该会涵盖这些内容,并可能包含更多的实用技巧和案例,对于学习和提升T-SQL技能非常有价值。