[Oracle]复习笔记-SQL部分内容
Oracle笔记--SQL部分
整体框架
语句的执行顺序:
from →where →group by→having→select→order by
select *
from *
where *
group by *
having *
order by *
关于select
(1)当调用的不同表中存在相同名称的列时,需要指明表格
select student.name,class.name
from student,class
(2)重定义列名
select student.name as stuname --as可以省略
(3)当需要重定义的列名与sql保留关键字相同时需要使用双引号
select student.score as "value"
(4)使用distinct去重
select distinct(student.score) from student
关于from
(1)左右合并表格 a inter join b using(c),以列c为标准,合并表a和表b中列c值相同的行
-- 使用inter join,对于任意一个表格,若列c的值为空则该行数据不显示
from class inter join student using(stuname)
-- 若两个表格中关于同一项值的列名不同,使用“on + 判断”而不是“using()”
from class inter join student on class.stuname=student.name
-- 向左合并(当表a中列c为空时仍然显示表a的数据)left join
-- 向右合并 right join
-- 两个表中列c为空的行都显示 full join
(2)上下合并表格union(去重)与union all(不去重)
注意:union(all)要求两次select列数一定要相同,列必须拥有相似的数据类型
from (
select student.age,student.name
from student
union all
select teacher.age,teacher.name
from teacher
) as allmessage -- 一般会起一个名字便于后续使用
关于where
(1)查找某个值
where sid='BDT20040' where sid like 'BDT20%' -- %代指零个或多个字符
(2)使用子查询
where SID in (
select SID from class
where class.name='Oracle')
-- not in这里就不写了,用法类似 where exists(
select * from class
where class.name='Oracle' and class.sid=student.sid)
-- exists用于判断查询子句是否有记录,如果有记录返回 True,否则返回 False,与select后接的查找内容无关。not exists 同理
(3)判断是否为空
where sid is not null
关于group by
当select中使用聚合函数时,非聚合函数项需要添加到group by中
常见的聚合函数有:avg()、count()、max()、min()
关于having
对于使用聚合函数的列,我们使用having的方法进行筛选
select class.name,max(score)
from class inter join student on class.stuname=student.name
group by class.name
having max(score)>80
关于order by
order by student.score
-- 默认为从小到大,可以设置为desc,改为从大到小
其他
(1)取整函数 round
select round(1.245,2) from dual
--四舍五入到两位小数,其中2可以省略,若省略则默认四舍五入到整数。dual表示空表。 select draw_time,trunc(draw_time) from usershi
--日期型数据也能实现取整,执行时舍去时分秒,不会进位。

(2)关于空值 null
- 空值在判断值是否相等时(=、in)返回无法判断(不相等)
- 但在使用group by时,空值会被视作同一项(相等)
- count(字段/NULL) 不统计NULL值,count(null)=0
制作:BDT20040
如果还有想到啥的可以私聊我,我去补充一下(大概率咕咕咕就是了)
[Oracle]复习笔记-SQL部分内容的更多相关文章
- (三)Oracle学习笔记—— sql语句
0. scott 用户默认表介绍 scott用户Tables目录下包含四张表 1. insert(插入)语句 给指定列插入数据: ,'xx'); 插入全部列数据: ,'xx','lll'); 2. u ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle实战笔记(第六天)之PL/SQL基础
一.PL/SQL介绍 1.概念 PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语 ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- oracle学习笔记3:基本的SQL语句
oracle基本的SQL语句和SQLSERVER基本一样,在这里只简单列出与SQLSERVER不一样的地方 1.select * from orderinfo where address = 'abc ...
- Oracle学习笔记之PL/SQL编程
SQL(Structure Query Language)的含义是结构化查询语句,最早由Boyce和Chambedin在1974年提出,称为SEQUEL语言.1976年,IBM公司的Sa ...
- oracle 入门笔记--v$sql和v$sqlarea视图(转载)
转载于作者:dbtan 原文链接:http://www.dbtan.com/2009/12/vsql-and-vsqlarea-view.html v$sql和v$sqlarea视图: 上文提到,v$ ...
- Oracle学习笔记—数据字典和常用命令(转载)
转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...
- Oracle复习思路
目录 Oracle复习 题型 复习大纲 附录 SQL题目一 SQL题目二 SQL题目三 SQL题目四 SQL题目五 SQL题目六 Oracle复习 题型 选择题15题 每题2分,共30分 判断题10题 ...
随机推荐
- App切换到后台后如何保持持续定位?
为了保护用户隐私,大多数应用只会在前台运行时获取用户位置,当应用在后台运行时,定位功能会被禁止.这就导致APP在后台或者锁屏时无法正常记录GPS轨迹,这对打车.共享出行.跑步等需要实时记录用户轨迹的应 ...
- Flutter 检测报错 Unable to locate Android SDK.
安装好 Flutter SDK 之后,官方建议使用flutter doctor检查 Flutter SDK 的相关配置信息. 如果 Android Studio 安装 Android SDK 的时候选 ...
- 刷题记录:Codeforces Round #725 (Div. 3)
Codeforces Round #725 (Div. 3) 20210704.网址:https://codeforces.com/contest/1538. 感觉这个比上一个要难. A 有一个n个数 ...
- 【manim】学习路径1-安装篇-windows、macOS
下一章:https://www.cnblogs.com/remyuu/p/16462369.html 本系列以大量实战讲解manim数学动画引擎. 文档编辑器推荐:Sublime Text 这里是一些 ...
- [网鼎杯 2020 朱雀组]phpweb-1|反序列化
1.打开界面之后界面一直在刷新,检查源代码也未发现提示信息,但是在检查中发现了两个隐藏的属性:func和p,抓包进行查看一下,结果如下: 2.对两个参数与返回值进行分析,我们使用dat时一般是这种格式 ...
- 第五十九篇:关于Vue
好家伙,前面关于vue的学习太散太乱了,我决定重新整理一下知识框架,当作复习了,并且在其中补充一些概念 先提出一个问题:怎么把数据弄到页面上? 若不借助vue,把数据填充到页面上, 我们需要操作dom ...
- 【读书笔记】C#高级编程 第十九章 程序集
(一)程序集的含义 程序集是.NET用于部署和配置单元的术语. .NET应用程序包含一个或多个程序集.通常扩展名是EXE或DLL的.NET可执行程序称为程序集. 程序集是自我描述的安装单元,由一个或多 ...
- EntityFrameworkCore 模型自动更新(上)
话题 嗯,距离上一次写博文已经过去近整整十个月,还是有一些思考,但还是变得懒惰了,心思也不再那么专注,有点耗费时间,学习也有点停滞不前,那就顺其自然,随心所欲吧,等哪天心血来潮,想写了就写写 模型自动 ...
- Ubuntu22.04 安装配置流水账
前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考. 制作启动U盘 在Ubuntu网站 ...
- HK32F030MF4P6的Linux GCC工具链和VSCode开发环境
HK32F030MF4P6简介 航顺的 HK32F030MF4P6, TSSOP20封装, Arm Cortex M0 内核, 内建32MHz时钟, 16K Flash, 2K RAM(实际上可用的有 ...