五月:Oracle数据库总结(一)

一、数据库

数据的仓库

电脑储存数据的介质有硬盘内存
内存:程序在运行的过程中产生的数据储存在内存中
硬盘:数据会持久化储存在硬盘上的文件系统中

在没有数据库的时候,数据可以储存在普通的文件中,例如提txt、excel使用普通的文件储存数据,存储数据量比较小,不方便增删改查等操作,所以数据应运而生。

二、Oracle数据库

数据库分为关系型数据库和非关系型数据库
关系型数据库:Oracle(甲骨文)、SqlServer(微软)、MySQL(被甲骨文收购)
菲关系型数据库:redis
DBA(角色):database Adminstrator

三、SQL

SQL —> structured query language (结构化查询语言)
SQL也是一门编程语言,站门用于对数据库进行操作的
对于开发人员来说,学习数据库就是学习SQL语句

表的组成:表、字段、行、列

编号姓名年龄表的字段
1May23一行数据

hr用户下自带了一张员工表 (一定是在hr用户下)
表名:employees

employees表内容如下:
在这里插入图片描述

四、SQL语句

简单查询

1.查询所有列

select * from employees

----练习阶段可以写成*,实际开发时,不推荐使用,因为在底层 * 会转化成表中的列名,效率比较低

2.查询部分列
语法: select 列名1,列名2 from 表名
例:

select first_name from employees

3.进行运算操作

----进行 +、 - 、 * 、/ (不能进行%取余操作)

例:对所有员工的工资增加1000

select salary + 1000 from emplyees

4.起别名

----可以给查询结果的列起别名,as关键字可以省略
----给表起别名,写代码会有联想提示,在后面子查询中使用别名有利于分清表的信息

--查询结果别名的使用
select employee_id as 编号 from employees
select employee_id  编号 from employees
--给表起别名的使用
select t1.employee_id from employees t1

5.字符串拼接

----两个字符串之间用||连接

例:将first_name、last_name 连接在一起

select  first_name || '' ||last_name from employees

6.去重操作

----关键词:distinct

select distinct salary from employees

条件查询

1.等值/不等值 查询

----关键词:where
注意:语法中不区分大小写,但是字符串内容区分大小写

例:查询first_name 为/不为 Steven的员工

--查询first_name为Steven的员工
select * from employees where first_name = 'Steven'
--查询first_name不为Steven的员工
select * from employees where first_name != 'Steven'

2.多条件查询 and(与) or(或)
例:查询first_name为Steven并且工资大于10000的员工

select * from employees where first_name = 'Steven' and salary >= 10000

3.区间查询(between…and…)
例:查询工资在10000 - 15000 之间的所有员工

select * from employees where salary between 10000 and 15000

4.空值查询 is null (查询为null) / is not null(查询值不为null)
例:查询有没有提成的员工

-- 需求:查询没有提成的员工 
select * from employees where commission_pct is null
-- 需求:查询有提成的员工 
select * from employees where commission_pct is not null

5.枚举查询

----列名 in(值1,值2,值3)
例:查询员工的部门编号为60 或者 70 的员工信息

--in( , )
select * from employees where department_id in (60,70)
-- 等同于between
select * from employees where department_id = 60 or department_id = 70

6.模糊查询

两种通配符 ‘ _ ’ ’ % ’
% 可匹配多个字符,_ 匹配任意一个字符

例:查询名字中含有 v 的

--查询v开头的
select * from employees where first_name like 'v%'
--查询v结尾的
select * from employees where first_name like '%v'
--查询中间有v的
select * from employees where first_name like '%v%'
--查询v开头有四个字母组成的名字
select * from employees where first_name like 'v___'

7.case then

语法:case when 条件1 then ‘显示数据’ (类似于java中的if 、 else if 、else) when 条件2 then ‘显示数据’ else ‘显示数据’ end as 别名

例:如果工资大于10000为A, 工资大于等于6000为B,否则为C

select employee_id,first_name,salary, 
  case when salary >= 10000 then 'A' 
       when salary >= 6000 then 'B' 
       else 'C' 
  end as 级别
  from employees
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值