(三)Oracle学习笔记—— sql语句

0. scott 用户默认表介绍

scott用户Tables目录下包含四张表

1. insert(插入)语句

给指定列插入数据:

insert into dept(deptno,dname) values(50,‘xx‘);

插入全部列数据:

insert into dept(deptno,dname,loc) values(60,‘xx‘,‘lll‘);

2. update(更新)语句

update dept set dname=‘司法部‘ where deptno=50;
update dept set dname=‘司法部‘ ,loc=‘china‘ where deptno=50;

3. delete(删除)语句

删除指定数据:

delete from dept where deptno=70;

删除指定条件的数据:

delete from dept where deptno>40;

4. select(查询)语句

查询所有:

select * from emp;

指定字段查询:

select ename,sal from emp;

简写

insert into dept values(70,‘xxx‘,‘llll‘);

加 where 条件:

select * from emp where sal>=800;
select * from emp where sal>=1500 and job=‘SALESMAN‘;

Distinct 去重复记录;

Group by 分组查询:select job,count(ename) as num from EMP t group by job;

Having 过滤分组:select job,count(ename) as num from EMP t group by job having count(ename)>=2;

Order by 排序:select * from emp order by sal desc;

子查询:查询出基本工资大于平均工资的员工:select * from emp where sal>(select avg(sal) from emp)

联合查询:

并集(去重复):

select * from t_user1
union
select * from t_user2;

并集:

select * from t_user1
union all
select * from t_user2;

交集:

select * from t_user1
intersect
select * from t_user2;

差集:

select * from t_user1
minus
select * from t_user2;

内连接:

select * from emp t,dept d where t.deptno=d.deptno;

类似:select * from emp e inner join dept d on e.deptno=d.deptno; inner 可以省略;

外连接:

左外连接:select * from emp e left join dept d on e.deptno=d.deptno;

右外连接:select * from emp e right join dept d on e.deptno=d.deptno;

时间: 2024-10-11 14:58:32

(三)Oracle学习笔记—— sql语句的相关文章

oracle学习笔记 SQL语句执行过程剖析讲课

oracle学习笔记 SQL语句执行过程剖析讲课 这节课通过讲述一条SQL语句进入数据库 和其在数据库中的整个的执行过程 把数据库里面的体系结构串一下. 让大家再进一步了解oracle数据库里面的各个进程.存储结构以及内存结构的关联关系. 首先来讲整个体系中有客户端.实例和数据库 数据库里有三类文件 控制文件ctl.数据文件dbf.日志文件log 实例中SGA有六大池子 第一大内存区shared pool即共享池 第二大内存区buffer cache 第三块是redo log 我们主要讲上面的三

MYSQL学习笔记——sql语句优化工具

前面讲解了很多mysql的基础知识,这一章讲解mysql的语句优化. 一.定位慢查询                                                                                 我们要对sql语句进行优化,第一步肯定是找到执行速度较慢的语句,那么怎么在一个项目里面定位这些执行速度较慢的sql语句呢?下面就介绍一种定位慢查询的方法. 1.1.数据库准备 首先创建一个数据库表: CREATE TABLE emp (empno MED

Oracle学习之SQL语句执行顺序

1.执行顺序: 客户端输入sql语句 sql语句通过网络到达数据库实例 server porcess接收SQL语句后 a.将sql语句解析成执行计划,然后才能执行 b.解析:消耗很多资源:CPU.IO,如在共享池中有缓存则不需要再次解析. (共享池:缓存SQL语句以及SQL语句对应的执行计划) (buffer case:缓存dbf的数据 取数据过程:server porcess先检查buffer case中是否有数据,如果有数据则直接将 buffer catch中的数据返给用户(逻辑读):如果没

MYSQL学习笔记——sql语句优化之索引

上一篇博客讲了可以使用慢查询日志定位耗时sql,使用explain命令查看mysql的执行计划,以及使用profiling工具查看语句执行真正耗时的地方,当定位了耗时之后怎样优化呢?这篇博客会介绍mysql中最简单快速的优化方法——添加索引. 一.索引的添加                                                                              mysql一共有四类索引,分别是主键索引.唯一索引.普通索引以及全文索引. 1.1.主

Oracle学习笔记三 SQL命令

SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)               下面是这四种SQL语言的详细笔记: Oracle学习笔记三 SQL命令(二):SQL操作语言类别 Oracle数据类型 创建表时,必须为各个列指定数据类型 以下是 Oracle 数据类型的类别: 字符数据类型 CHAR类型 当需要固定长度的字符串时,使用 CHAR 数据类型. CHAR 数据类型存储字母数字值. CH

【我的Oracle学习笔记(二)】----- select语句补充

一.多表查询 多表查询是指从多个有关联的表中查询数据,其语法与单表查询类似.一般来说,多表查询的表要用连接联系起来,如果没连接,则查询结果是这多个查询表的笛卡尔积(注释1). 模拟查询雇员姓名和所在部门名称: select [雇员姓名],[部门名称] from [雇员表] a,scott,[部门表] b where a.[部门编号]=b.[部门编号]; 上例中,为每一个查询表指定了别名,便于SQL语句的书写. 模拟查询在”sales“部门工作的雇员其雇员姓名 select [雇员姓名] from

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)

PL/SQL子程序 包括函数和过程.这里的函数指的是用户自己定义的函数,和系统函数是不同的.子程序一般是完成特定功能的PL/SQL程序块,并且具有一定的通用性,可以被不同的应用程序多次调用.Oracle提供可以把PL/SQL程序存储在数据库中,并可以再任何地方来运行它.这样就叫做存储过程或者是函数.过程和函数的唯一区别就是函数总是向调用者返回数据,而过程则不返回数据. 函数 如果用户要经常执行某些操作,并且需要返回特定的数据,那么就可以将这些操作构造成一个函数. 可以使用SQL语句定义函数. 基

Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)

触发器是存放在数据库中的一种特殊类型的子程序.不能被用户直接调用,而是当特定事件或操作发生时由系统自己主动 调用执行.触发器不能接受參数.所以执行触发器就叫做触发或点火.Oracle事件指的是数据库的表进行的insert .update.delete操作或对视图进行类似的操作. 触发器是很多关系数据库系统都提供的一项技术.在Oracle系统里,触发器类似过程和函数,都有声明,运行和异常 处理过程的PL/SQL块. 触发器的组成: 触发事件:在何种情况下触发:比如:INSERT , UPDATE