oracle 数据库基础知识复习

2023-11-15

1. 单表的数据查询

1.1指定字段的数据记录查询

select field1,field2,... FROM  表名 WHERE CONDITION
例:
select t.stuname,t.age,t.sex from STUINFO t where t.stuname='李四';

1.2 查询所有数据

使用通配符“*”,进行所有数据的查询。

select * from STUINFO t where t.stuname='李四';

在实际开发过程中,把需要查询的字段查询处理,用以减轻数据库的压力。

1.3 避免重复数据的查询

select distinct t.sex from STUINFO t;

1.5 实现数学运算的数据查询

  Oracle 的数学运算符:+ - * / %
 例: 
    -- 添加测试数据
	update STUINFO SET salary =1000 
	update STUINFO SET  salary =2000 where stuname='孙悟空'; 
	update STUINFO SET salary =1500     where stuname='小白龙'; 
	commit; -- 提交事务
	
  SELECT t.stuname,salary,salary*12 FROM STUINFO t;
  

1.5 字符串连接符||

Oracle 中利用字符串连接符||(即双竖线)来连接查询结果

SELECT '19 级 3 班-'||stuname||'-同学',salary,salary*12 FROM STUINFO t;

2 条件数据记录的查询

在条件内部定义:

  • 带关系运算符和逻辑运算符的表达式
  • 带 between…and 关键字的条件数据查询
  • 使用 is null 关键字的条件数据查询
  • 使用 in 关键字的条件数据查询
  • 带 like(模糊查询)关键字的条件数据查询

2.1 关系运算符和逻辑运算符的表达式

Oracle 中的关系运算符:>、 >=、 <、 <=、 !=(<>) 、 =
Oracle 中的逻辑运算符:&&(AND)、||(OR)、!(NOT)
在逻辑表达式中,我们一般使用英文表示,如 AND/OR/NOT。

例子:
SELECT stuname,salary,salary*12 FROM STUINFO WHERE salary=1000; 

SELECT stuname,salary,salary*12 FROM STUINFO WHERE salary!=1000;

SELECT stuname,salary,salary*12 FROM STUINFO WHERE salary<>1000;

SELECT stuname,salary FROM STUINFO WHERE NOT(salary>1000 AND salary<2000);

2.2 带 between…and 关键字的条件数据查询

例子:
SELECT stuname,salary FROM STUINFO WHERE salary BETWEEN 1500 AND 2000; 

SELECT stuname,salary FROM STUINFO WHERE NOT(salary BETWEEN 1500 AND 2000);

查询出的结果集包含边界
在实际开发过程中,一般用于对日期类型的数据,进行查询

查询日期函数:
update STUINFO SET enroldate = to_date('2019/9/1','yyyy/mm/dd') where stuname='孙悟空'; 

update STUINFO SET enroldate =to_date('2018/12/1','yyyy/mm/dd') where stuname='小白龙'; 

SELECT * FROM STUINFO WHERE enroldate BETWEEN to_date('2018/9/1','yyyy/mm/dd') AND to_date('2018/12/1','yyyy/mm/dd');

2.3 使用 is null 关键字的条件数据查询

其中空字符串和 null 是两个不同的值,
在使用的时候,需要注意,查询空字符串,
使用”xxx=’’”,而判断是否是 null 值,要使用 is null。

SELECT * FROM t_student WHERE code IS NULL;

SELECT * FROM t_student WHERE code IS NOT NULL; SELECT * FROM t_student WHERE code='';

2.4 使用 in 关键字的条件数据查询

在已知的指定范围内,进行数据的查询。
INSERT INTO t_student(id,name,code) VALUES(3,'Tom',NULL);

INSERT INTO t_student(id,name,code) VALUES(4,'Jack',''); 

commit; --提交事务 

SELECT * FROM t_student WHERE id in(2,4); 

SELECT * FROM t_student WHERE id NOT in(2,4);

2.5 带 like(模糊查询)关键字的条件数据查询

-- 准备数据 
INSERT INTO t_student(id,name,code) VALUES(5,'唐三','001'); 
INSERT INTO t_student(id,name,code) VALUES(6,'白小纯','002'); 
INSERT INTO t_student(id,name,code) VALUES(7,'韩立','003'); 
INSERT INTO t_student(id,name,code) VALUES(8,'林动','004')
commit; // 提交事务 

-- 模糊查询 
只要带有“唐”,会匹配出来
SELECT * FROM t_student WHERE name LIKE '%唐%'; 

以“白”开头 
SELECT * FROM t_student WHERE name LIKE '白%'; 

以“立”结尾 
SELECT * FROM t_student WHERE name LIKE '%立'; 

第一个字符不管,只要第二个字符是“动”,会匹配出来
 SELECT * FROM t_student WHERE name LIKE '_动%';

2.6 排序数据记录

SELECT * FROM table_name ORDER BY field1 排序条件(asc/desc),field2 排序条件(asc/desc) 


SELECT * FROM t_student ORDER BY id DESC;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle 数据库基础知识复习 的相关文章

随机推荐

  • ICLR 2022最佳论文解读

    微信公众号 圆圆的算法笔记 持续更新NLP CV 搜推广干货笔记和业内前沿工作解读 后台回复 交流 加入 圆圆的算法笔记 交流群 回复 时间序列 多模态 迁移学习 NLP 图学习 表示学习 元学习 等获取各个领域干货算法笔记 今天给大家介绍
  • Nginx配置详情

    Nginx1 16 0安装详见 CentOS7 3编译安装LNMP之 一 Nginx 1 16 0安装 本文以nginx1 16 0编译安装版为例 目录如下 usr local nginx nginx的安装目录 usr local ngin
  • “logits”到底是个什么意思?

    1 什么是logits 说到Logits 首先要弄明白什么是Odds 在英文里 Odds的本意是指几率 可能性 它和我们常说的概率又有什么区别呢 在统计学里 概率 Probability 描述的是某事件A出现的次数与所有事件出现的次数之比
  • Map双列集合的四种遍历方式

    Map双列集合的四种遍历方式 第一种 键找值遍历方式 通过keySet 方法可以获取到所有键组成的Set集合 public Set
  • 关于Streamspot中StreamHash的介绍

    原文 Fast Memory efficient Anomaly Detection in Streaming Heterogeneous Graphs 在阅读这篇文章时 我对于文中所提到的StreamHash方法特别费解 在重复阅读了好几
  • 解决SwipeRefreshLayout和ViewPager滑动冲突的三种方案

    一篇文章读懂android事件消费 事件分发 事件拦截Android 源码分析事件分发机制 事件消费 事件拦截解决SwipeRefreshLayout和ViewPager滑动冲突的三种方案 在SwipeRefreshLayout的内部包一个
  • 论坛系统数据库设计

    论坛系统数据库设计 1 引言 2 QQ 摆烂式 设计 2 1数据表设计猜测 2 2分析增删查改实现方法 2 3分析QQ 摆烂式 的优缺点 2 4改进方法 3 盖楼式 设计 3 1数据表设计猜测 3 2数据表设计优化 4 推荐设计 1 引言
  • Matlab----下载和安装教程

    Matlab 下载 文件中有以下文件 Matlab 安装 步骤1 打开安装软件 步骤2 运行安装软件 在matlab 2018的文件夹下找到setup 选中右键以管理员身份运行 步骤3 选择使用文件安装密钥 然后点击下一步 步骤4 是否接收
  • 【1day】复现金和协同管理平台任意文件读取漏洞

    注 该文章来自作者日常学习笔记 请勿利用文章内的相关技术从事非法测试 如因此产生的一切不良后果与作者无关 目录 一 漏洞描述 二 影响版本 三 资产测绘 四 漏洞复现 一 漏洞
  • Unity3D-VR《静夜诗》3-开始按钮与开始文本信息

    Unity3D VR 静夜诗 3 开始按钮与开始文本信息 1 开始按钮及开始信息文本UI对象的设计 1 1容器对象PanelBeginUI 1 2开始信息文本TextBegin 1 3开始按钮BtnBegin 2 开始按钮实现凝视触发 凝视
  • 521 加速乐多层响应 Cookie逆向 + 代码高度混淆

    网址 aHR0cHM6Ly93d3cubWFmZW5nd28uY24vaS81Mzc2OTc4Lmh0bWw 目录 声明 本文章中所有内容仅供学习交流使用 不用于其他任何目的 不提供完整代码 抓包内容 敏感网址 数据接口等均已做脱敏处理 严
  • 《Centos7——elk+lnmp+zabbix+grafana来分析日志》

    目录 elk lnmp zabbix grafana来分析日志 一 Elasticsearch部署 192 168 234 130 1 上传安装包 2 安装elasticsearch kibana 3 修改es和kibana配置文件 4 启
  • weixin4j开发微信分享案例

    微信官方文档 步骤一 绑定域名 先登录微信公众平台进入 公众号设置 的 功能设置 里填写 JS接口安全域名 备注 登录后可在 开发者中心 查看对应的接口权限 步骤二 引入JS文件 在需要调用JS接口的页面引入如下JS文件 支持https h
  • 关于VUE中v-for循环的dom使用ref获取不到问题

    背景 初学vue做练习项目的时候 基于vue2 0版本使用refs属性获取v for循环的dom时出现获取不到dom的情况 尝试采用原生的方法出现同样的情况 查了很多资料没有找到对应的详细说明 现将我发现的一些问题分享给大家 html部分
  • 量化选股策略搭建(四)(短期策略搭建)

    量化选股策略搭建 四 短期策略搭建 首先我们需要把选股这个问题转化为一个机器学习问题 那么如何转化成机器学习问题呢 机器学习也分两类问题 1 回归问题 2 分类问题 常规的一些方法是预测股价增长来进行选股 回顾问题 这里我们将其转化为一个分
  • ZooKeeper 分布式协调工具

    目录 一 ZooKeeper 概述 二 ZooKeeper Windows 单机版安装 三 ZooKeeper 集群环境下选举过程 四 ZooKeeper 存储数据的过程 五 ZooKeeper 监听 六 java 操作 ZooKeeper
  • 为什么说python简单_为什么很多人都说 Python 简单?

    Python是一门入门简单 精通困难的编程语言 Python是一门比较高阶的语言 在基本语法和使用方面没有C Java那么复杂 因此 对于入门者来说 很接近于自然语言的表述方式 经过短暂的的学习就可以完成一些简单的工作 但是 我认为如果仅用
  • 面试官:有一个 List 对象集合,如何优雅地返回给前端?我懵了。。

    1 业务背景 业务场景中 一个会话中存在多个场景 即一个session id对应多个scene id和scene name 如果你写成如下的聚合模型类 public class SceneVO private String sessionI
  • [leetcode]Python实现-389. 找不同

    389 找不同 描述 给定两个字符串 s 和 t 它们只包含小写字母 字符串 t 由字符串 s 随机重排 然后在随机位置添加一个字母 请找出在 t 中被添加的字母 示例 输入 s abcd t abcde 输出 e 解释 e 是那个被添加的
  • oracle 数据库基础知识复习

    1 单表的数据查询 1 1指定字段的数据记录查询 select field1 field2 FROM 表名 WHERE CONDITION 例 select t stuname t age t sex from STUINFO t wher