Oracle 表-初步涉水不深(第一天)
oracle 关系型数据库
注释:面对大型数据处理,市场占有率40%多(但是目前正往分布式转换)
故事:本来一台大型计算机才能处理的数据,美国科学家用100台家用电脑连接,成功处理了数据。。
tables 表格
(emp:员工管理;dept:部门;salgrade: 工资等级)

注释
单行注释:-- 标题
多行注释:/*内容 */

语句
--------------1.起名方式:
1空格+name2 AS+名字 2.1AS + " name"
SELECT empno ,ename,hiredate 入职年 FROM emp
SELECT empno ,ename,hiredate AS 入职年1Y FROM emp
SELECT empno ,ename,hiredate AS "year" FROM emp
--------------2.列的连接
SELECT empno||'是谁的'||ename,hiredate 入职年 FROM emp
--------------3.distinct去重查询--WHERE过滤查询
练习:--查询工作是经理的人;--查询工资大于3000的人
SELECT ename FROM emp WHERE JOB='MANAGER'
SELECT * FROM emp WHERE sal>3000
---------------4.多条件AND,OR, <>连接
SELECT * FROM emp WHERE DEPTNO=10 AND JOB='MANAGER'
SELECT * FROM emp WHERE DEPTNO=10 OR JOB='MANAGER'
SELECT * FROM emp WHERE DEPTNO<>10
---------------5. ....之间 :between and;--OR OR;--job in
SELECT * FROM emp WHERE DEPTNO between 10 and 20
SELECT * FROM emp WHERE DEPTNO =10 OR DEPTNO =20 OR DEPTNO =30
SELECT * FROM emp WHERE JOB IN( 'MANAGER','ANALYST')
-- ------------6.内容是否为空,IS NULL ; IS NOT NULL
SELECT * FROM EMP WHERE COMM IS NULL --jian奖金是否为空
-------------- 7.排序 order by lie desc 降序 asc
--工资从大到小
SELECT * FROM emp ORDER BY sal DESC
--入职时间
SELECT * FROM emp ORDER BY hiredate ASC
--部门升序,工资降序
SELECT * FROM EMP ORDER BY DEPTNO ASC ,sal DESC
--以年新
SELECT ename,sal*12 FROM EMP ORDER BY sal *12 DESC
************综合练习标准写法
--练习: 查询一下deptno20 ;SAL>2000 ; HIREDATE
SELECT
ENAME 名字 ,
EMPNO 编号,
SAL 工资,
hiredate 入职年
FROM
EMP
WHERE DEPTNO=20
AND SAL>2000
ORDER BY
hiredate
ASC
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------1.模糊查询 like 和 not like :
SELECT ENAME FROM EMP WHERE ENAME LIKE '%S%'
SELECT * FROM EMP WHERE ENAME NOT LIKE '%S%'
------查询名字或者工作带有S的
SELECT * FROM EMP WHERE ENAME LIKE '%S%' OR JOB LIKE '%S%'
SELECT * FROM EMP WHERE ENAME || JOB LIKE '%S%'
--------------2.字符函数,大小型转换
SELECT LOWER (ename) FROM EMP
SELECT UPPER (ename) FROM EMP
--首字母大写
SELECT INITCAP (ename)from emp
--查名字中含有s的(包括大小写)
--------------字符串的拼接
SELECT CONCAT(CONCAT (ENAME,DEPTNO),HIREDATE)FROM EMP
------------求长度
SELECT ENAME ,LENGTH(ename) FROM EMP
SELECT ENAME FROM EMP WHERE LENGTH(ename)=5
--substr(列,起始位置,截取长度)
--substr(列,起始位置)
SELECT ename,SUBSTR(ename,2 ,2) FROM emp
SELECT ename,SUBSTR(ename,2) FROM emp
----------------截取后四位
SELECT ename,SUBSTR(ename,-4) FROM emp
--------------dual 伪表
SELECT SUBSTR('18342214598',1,3 ) ||'****'||SUBSTR('18342214598',-4 ) FROM dual
--------------replace 替换(
--名字中有A的替换成B
--准备对象,A替换成B
SELECT REPLACE (ename ,'A','B') FROM EMP
--脱敏
SELECT REPLACE ('18342214598',SUBSTR('18342214598',4,4),'****') FROM dual
--查找名字中没有S的人
SELECT * FROM EMP WHERE ENAME NOT LIKE '%S%'
SELECT * FROM EMP WHERE INSTR (ENAME,'S') =0 --0没有S =1 表示以S开头
------------------trim 去首尾字母
SELECT ename ,TRIM ('S' FROM ename) FROM emp
--左右填充
SELECT ENAME ,SAL,LPAD(SAL,6,'0') FROM emp
SELECT ename,sal, RPAD(sal,6,'a') FROM emp
Oracle 表-初步涉水不深(第一天)的更多相关文章
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- Oracle 表连接
Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不 ...
- 转:Oracle表分区
Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区. 一:范围分区 就是根据数据库表中某一字段的值的范围来划分分区,例如: 1. create table graderecord 2. ...
- Oracle 表死锁 解决
问题:更新的Update语句一直在更新 卡在执行update语句的地方. 清除的方法: Oracle表死锁解除 我是在plsql中处理 1.先查询 select * from v$locked ...
- 【转】Oracle 表空间与数据文件
--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...
- 【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp
一.本人环境描述 1.oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0 2.Linux为centos6.5 32位,安装在Oracle VM Vir ...
- interview:about Oracle表空间
Oracle表空间 SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计.Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可 ...
- 读书笔记-《基于Oracle的SQL优化》-第一章-3
优化器: 1.优化器的模式: 用于决定在Oracle中解析目标SQL时所用优化器的类型,以及决定当使用CBO时计算成本值的侧重点.这里的“侧重点”是指当使用CBO来计算目标SQL各条执行路径的成本值时 ...
- oracle 表查询(2)
使用逻辑操作符号 问题:查询工资高于500 或者是岗位为MANAGER 的雇员,同时还要满足他们的姓名首字母为大写的J? or job = 'MANAGER') and ename LIKE 'J%' ...
随机推荐
- NSUserDefaults 保存自己定义对象
项目里json返回的一个model须要保存下来,这个model是固定的没必须去创建表,想到了NSUserDefaults来存储,暂不考虑安全问题. NSUserDefaults没法直接存储一个对象.在 ...
- 嵌入式开发之davinci---dm8168VPORT口管脚总结
http://blog.csdn.net/shanghaiqianlun/article/details/7531365
- ul、li中的DIV垂直居中
当li高度可动态改变时,li中的DIV始终保持垂直居中. 由于高度不固定,不能用margin或者padding解决. 最头疼的是vertical-align: middle;也莫名其妙的失效了. 最终 ...
- hadoop3 无法启动 查找内存消耗原因
[root@hadoop3 hadoop]# xloStarting namenodes on [hadoop3]上一次登录:三 12月 27 15:07:11 CST 2017pts/24 上had ...
- 2强类型DataSet (2011-12-30 23:16:59)转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 http://blog.sina.com.cn/s/blog_9d90c4140101214w.html
强类型DataSet (2011-12-30 23:16:59) 转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 using System; using System.Collections.G ...
- 如何编写linux下nand flash驱动-1
1. 硬件特性: [Flash的硬件实现机制] Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失 ...
- C# 混淆 反编译
.net破解一(反编译,反混淆-剥壳) http://www.cnblogs.com/jio92/p/de4dot.html C#学习系列-String与string的区别 http://www.cn ...
- mysql error:You can't specify target table for update in FROM clause
mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表( ...
- centos配置nodejs和mysql
我使用的是centos7.2 64位,弄了一大晚上试了各种方法,安装的nodejs就是启动不了服务器.全是IP能ping通,浏览器不能访问.端口都是打开了的.安全组也设置了,就是不行.最后阿里云客服电 ...
- Codeforces Round #325D (Div. 2) (DP)
题目链接: D. Phillip and Trains 分析:dp 我们先初始化,dp[i]表示当前列第i行是否可达,r[i]表示上一个dp值,接下来从头搜到尾 如果该位置满足s[i+1]=='.'且 ...