设为首页 加入收藏

TOP

Oracle 表-初步涉水不深(第一天)
2019-09-17 18:27:39 】 浏览:17
Tags: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

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇rac启动维护笔记 下一篇数据库语句优化

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目