Oracle--SQL查询

本文介绍了数据库的概念,包括关系型和非关系型的区别,重点讲解了SQL语言中的DDL(数据定义语言)、DML(数据操作语言),以及SELECT语句的解析步骤、函数和操作符。涵盖了SQL的基础知识和常用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  数据库

数据库是按照数据结构组织,存储和管理数据的仓库,而现在又转变成用户所需要的各种数据管理方式。

2.  DBMS(数据库管理系统)

由存储模型可将数据库划分为关系型数据库和非关系型数据库。

关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念来处理数据库中的数据。关系模型就是二维表格模型,关系型数据库就是由二维表及其之间联系所组成的数据组织

3.  SQL语言

分类命令
DDLcreate--创建;drop--删除;alter--修改;rename--重命名;truncate--截断
DMLinsert-插入;delete-删除;update;select
DCLgrant--授权;revoke--回收权利;commit--提交事务;rollbake--回滚事务

4.  SELECT

解析步骤:from -> where -> select -> order by

select distinct *|字段|表达式 as 别名 from 表 表别名
select distinct deptno from emp; --去重
select deptno,dname,loc from dept; --查询部门的所有信息
select ename as "雇员 姓名" from emp; -- as:表别名不能用;" ": 原样输出,区分大小写
select ename||'a'||'-->' info from emp; -- 字符串拼接用 ||
伪列:(构建虚拟的列)  select empno, 1*2 as count,'cmj' as name,deptno from emp;
虚表:(计算表达式,显示单条的值)  select 1+1 from dual;
Null :null 遇到数字参与运算的结果为 null,遇到字符串为空串
                
           nvl内置函数,判断是否为null,如果为空,取默认值0,否则取字段实际值 select
like :模糊查询 %(0或者以上)  _(一个字符)     
escape('单个字符'):将该字符转换为转义字符
集合操作 Union(去重)、Union All(不去重)、Intersect(找出重复)、Minus(减去重复)
exists条件为true,存在记录则返回结果,后续不再继续 比较查询,与查询的字段无关,与记录有关

5.  函数

5.1 单行函数

sysdate/current_date date类型返回当前的日期
add_months(d,x) 返回加上x月后的日期d的值
LAST_DAY(d) 返回的所在月份的最后一天
months_between(date1,date2) 返回date1date2之间月的数目
next_day(sysdate,星期一) 下一个星期一

5.1.1 转换函数

to_date(c,m) -> 字符串以指定格式转换为日期
to_char(d,m) -> 日期以指定格式转换为字符串

5.2 多行函数

count :统计记录数 count() -->* 或一个列名
max min: 最大值 最小值
sum:求和
avg:平均值
注意:
1. 组函数仅在选择列表和Having子句中有效
2. 出现组函数,select 只能有组函数或分组字段
说明:
组信息 与单条记录不能同时查询
组函数 不能用在 where中,能使用的地方 select having
null 不参与运算
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值