Oracle 笔记(1) Scott用户简单查询和简单函数

本文介绍了Oracle数据库的基础查询和函数使用,包括查询数据库名称、用户状态、修改用户密码,以及SELECT语句的运用,如计算列、别名、NVL函数、字符串连接和模糊查询。还涉及到ORDER BY进行数据排序和一些常用的字符串与数字处理函数。
摘要由CSDN通过智能技术生成

--查询当前数据库名称

Select name from v$database;

--时查询账户状态

Select username,account_status from dba_users

--解锁用户

Alter user scott account unlock

--修改用户密码

Alter user scott identified by admin

 

 

--查询全部数据

select * from 表名

--如果想查询员工的姓名和年薪,可以使用计算列

select ename,sal*12 from emp

--查询系统当前时间

--select sysdate from dual

 

--给字段加别名 起别名时 as也可以不加,但最好加上 注意如果别名本身带有空格,需要用””括起来查询员工姓名和年薪,年薪字段显示成 annual_sal

select ename,sal*12 as annual_sal from emp

 

--nvl(comm,0)

如果第一个参数为null,则返回第二个参数(0),

如果第一个参数不为null,则函数返回第一个参数本身

 

--字符串和字符串连接 oracle中字符串连接是 || 号 字符串使用’’如果字符串中本身就有’,想显示这个单引号,需要使用两个单引号进行转义,即’’代表‘

--查员工的姓名和月薪, 数据的显示格式如 姓名: SMITH,月薪:800

select '姓名:'||ename || ',月薪:' || sal as ename_sal from emp

--显示 员工姓名 连接上 123’4

select ename||'123''4' from emp

 

--使用distinct关键字去掉重复行 如果distinct修饰两个字段,代表两个字段组合起来不能重复

--查看员工来自哪些个部门

-select distinct deptno from emp

 

--等值条件

--查询部门编号为10的员工的全部信息

select * from emp where deptno=10

 

--非等值条件

--查询薪水大于1500的员工姓名,工资

select ename,sal from emp where sal>1500

--查询部门编号不是10的员工姓名和薪水以及部门编号,<>表示不等于,也可以用!=表示

select ename,sal ,deptno from emp where deptno<>10

 

--使用between and 确定范围

--查询薪水大于等于800小于等于1500的员工姓名和工资

select ename,sal from emp where sal between 800 and 1500

 

--NULL

--查询没有奖金的员工姓名和工资、奖金  注意没有奖金不能使用 comm=‘’

select ename,sal,comm from emp where comm is null

 

 

--使用in简化多个or

--查询薪水是800或1500或2000的员工的姓名和薪水、奖金

select ename,sal,comm from emp where sal=800 or sal=1500 or sal=2000select ename,sal,comm from emp where sal in(800,1500,2000)

 

--多个条件  查询部门编号为10并且薪水大于1000的员工的姓名和工资

select ename,sal from emp where deptno=10 and sal>1000

 

--模糊查询

使用like关键字,支持条件的模糊查询

横线_代表一个字母

%代表0个或多个字母要想查带%的字符串 需要用到转义字符\%

需要使用escape 关键字指定转义字符

--查询姓名里面包含ALL的员工姓名

select ename from emp where ename like '%ALL%'

--查询姓张的员工

select * from emp where sname like '张%’

--查询第二个字母为A的员工姓名

select ename from emp where ename like '_A%'

 

--order by对过滤后的数据进行排序asc表示升序 desc表示降序 默认按升序排列

--查询所有部门信息,按部门编号降序排列

select * from dept order by deptno desc

--查询所有的员工的信息,根据薪水升序排列

select * from emp order by sal asc

--查询员工的姓名、薪水、部门编号,先按部门编号升序、部门编号相同的按姓名降序

select ename,sal,deptno from emp order by deptno asc,ename desc

 

--字符串处理函数

lower(input)转小写  把ename字段转换成小写

select lower(ename) from emp

 

upper(input)             字符转大写

initcap(input)            将每个单词首字母转大写

concat(input1,input2)     连接第一个字符值到第二个字符值,等价于“||”

substr(input,m[,n])       从m开始取n个字符,n被忽略则取到字符串结尾

length(input)            返回字符数

instr(input,char[,m][,n])   返回在字符值中查找字符串char的位置。m为查找开始位置,n为第几次发现,mn默认1

replace(input,char1,chr2)  从字符串中查找char1,找到替换成char2

lpad(input,n,char)        从左边对字符串使用char进行填充,直到满足参数n的长度

rpad(input,n,char)        同上 从右边

 

数字处理函数

Round(参数1,[参数2])  四舍五入,参数2可选,参数2表示保留几位小数

Trunc(参数1,[参数2])  功能:截断数字,参数2表示截断到的小数位,如果参数2忽略则默认为0

SQL组成
数据定义语言(Data Definition Language,DDL),用于定义SQL模式、表、视图、索引等数据库对象结构数
据操作语言(Data Manipulation Language,DML),用于插入、删除和更改数据
数据查询语言(Data Query Language,DQL),用于查询数据,通常将数据操作语言和数据查询语言统称为数
据操作语言
数据控制语言(Data Control Language,DCL),用于对表、视图等的授权、完整性规则的描述和事务控制等

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值