初识Oracle day04(一些查询,函数等相关知识的汇总)

1-列举
数据定义命令:
create 、drop、alter
数据操作命令:
select 、insert 、delete、update
2-SQL语言分类并列举每个分类语句的命令。6大分类…
系统控制语句:
alter system ,更改某些初始化参数
会话控制语句:
动态的更改个别用户的会话特性
alter session :设置会话过程中的数据形式
set role:设置角色
嵌入的SQL语句:
用于过程式语言程序中的数据定义语言(DDL)、数据操纵语言(DML)和事务控制语句
open 、close、fetch和execute
数据库操纵语句:
select语句:从一个表或(视图)中检索数据的查询语句
insert 、delete和update语句:从表中队列进行插入、删除、更改
事务控制语句:
事务控制语句用来控制由数据操纵SQL语句(insert,update,delete)做出改变
commit:提交对数据库的更改
rollback:取消对数据库的更改
savepoint:设置保存点,以便能够回滚(撤销事务)
数据定义语言
可创建,更改和删除数据库对象,如表和索引等
create ,drop,alter创建,删除,更改表,视图索引,存储过程等
3-DML和DDL如何定义和区分?
DML(data manipulation language):数据操纵语言
它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言;
DDL(data definition language):数据定义语言
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用;
4-select、from、where、group by、having、order by 分别代表什么意思?以及用法?
select语句是SQL的核心,也是SQL语句中用得最多的。用于查询数据库并检索匹配指定条件数据.
select:用于选择数据表、视图中的列
from:用于自动数据的来源,包括表,视图和其他的select语句
where:用于对检索的数据进行筛选,子句中不能使用聚集函数(聚集函数:avg()求平均值函数,max()求最大值函数,sum()求和函数等等)
group by:用于对检索结果进行分组显示。与聚集函数一起使用时,group by创建组,聚集函数运算每组的值。
having:用于从使用group by子句分组后查询结果中筛选数据行,条件中经常包含统计函数。
order by:用来对于结果集进行排序的(包括升序和降序)
用法:
select {[distinct|all] columns |}
from {tables |views | other select}
[where conditions]
[group by columns]
[having conditions]
[order by columns [asc |desc]]
5-select、from、where、group by、having、order by 执行顺序?
from子句—>where子句----->group by 子句 —>having子句—>select子句—>order by子句
:from子句先被执行,通过from子句获得一个虚拟表,然后通过where子句从虚拟表中获得满足条件的记录,生成新的虚拟表。将新的虚拟表记录通过group by子句分组后得到更新的虚拟表,而后having子句在最新的虚拟表中筛选出满足条件的记录组成另外一个虚拟表中,select子句会将指定的列提取出来组成更新的虚拟表,最后通过order by子句对齐进行排序得出最终的虚拟表。
6-总结SQL语言的编写规则 4类
(1)sql关键字不区分大小写:
sql关键字既可以使用大写格式,也可以使用小写格式,或者大小写格式混用
(2)对象名和列名不区分大小写:
对象名和列名可以使用大写格式,也可以使用小写格式,或者使用大小写混合格式
(3)字符值和日期值区分大小写数据:
当在SQL语句中引用字符值和日期值时,必须要给出正确的大小写,否则不能够得到正确的查询结果
(4)SQL语句是可以分行显示的:
在sqlplus环境编写sql语句时,如果sql语句较短,则可以将语句放在一行上显示;如果sql语句很长时,为了方便用户阅读,则可以将语句分行显示,当sql语句输入完毕的时候,要以分好作为结束符。
7-查询SCOTT模式所拥有的数据表命令?
方法一:select table_name from all_tables where owner=‘SCOTT’;
在这里插入图片描述
方法二:select table_name from user_tables;
在这里插入图片描述
方法三:当不在scott模式下面时候:
在这里插入图片描述
8-总结SCOTT模式下几张数据表字段的类型有哪几类?分别代表什么意思?
在这里插入图片描述
9-如何在SYSTEM账户下查询SCOTT的部门表呢?写出语句…
在这里插入图片描述
10-在SCOTT模式下查询用AS别名方式查询结果
在这里插入图片描述
11-算术运算符的优先级并写出使用语句…
select ename sal,sal
(1+0.1) from emp;
算数运算符是有优先级的:
(1)先乘除后加减
(2)在表达式中同一优先级的运算符计算次序是从左到右。
(3)如果使用了括号,括号中的运算优先
(4)如果有多重括号嵌套,内存括号中的运算优先
12-去重语句除了distinct还有别的命令么?
两条记录之间之后只有部分字段的值是有重复的,但是表存在主键或者唯一性ID。如果是这种情况的话用DISTINCT是过滤不了的,这就要用到主键id的唯一性特点及group by分组。
例:SELECT * FROM TABLE WHERE ID IN (SELECT MAX(ID) FROM TABLE GROUP BY [去除重复的字段名列表,…])
13-like运算符用法?
like 运算符可以使用以下两个通配符,%和_
%:代表0个或多个字符
_:代表一个切只能是一个字符
在这里插入图片描述
在这里插入图片描述
14-IN 和 BETWEEN的用法区别?分别还要注意什么?范围和大小…
in的作用是:测试匹配一组目标关键字中的一个
在这里插入图片描述
between:返回的只是否在给定的数值之间
在这里插入图片描述
15-GROUP BY 5种 常用聚合函数并分别举例说明效果…用as取别名解释
avg :返回一个数字列或是计算列的平均值
count:返回查询结果中的记录数
max:返回一个数字列或是计算列的最大值
min:返回一个数字列或是计算列的最小值
sum:返回一个数字列或是计算列的总和
在这里插入图片描述
16-HAVING与GROUP BY 组合用法并解释命令作用…
having 子句通常与group by子句一起使用,在完成对分组结果统计后,可以使用having子句对分组的结果做进一步的筛选。
例如:对emp表中的deptno 进行分组,然后求出平均工资大于2000的数据:
在这里插入图片描述
17-ORDER BY 排序默认升序还是降序?
order by默认的是升序排列
在这里插入图片描述
*18-内连接和外连接的区别?并用查询结果证明…
内连接,也被称为自然连接,只有两个表相匹配的行才能在结果集中出现。返回的结果集选取了两个表中所有相匹配的数据,舍弃了不匹配的数据。由于内连接是从结果表中删除与其他连接表中没有匹配的所有行,所以内连接可能会造成信息的丢失。
在这里插入图片描述外连接不仅包含符合连接条件的行,还包含左表(左连接时)、右表(右连接时)或两个边接表(全外连接)中的所有数据行。
SQL外连接共有三种类型:
左外连接(关键字为LEFT OUTER JOIN)、右外连接(关键字为RIGHT OUTER JOIN)和全外连接(关键字为FULL OUTER JOIN)。
外连接的用法和内连接一样,只是将INNER JOIN关键字替换为相应的外连接关键字即可。
内连接只显示符合连接条件的记录,外连接除了显示符合条件的记录外,还显示表中的记录,例如,如果使用右外连接,还显示右表中的记录。
左外连接:
在这里插入图片描述
右外连接
在这里插入图片描述

19-INSERT 语句插入一条数据…
在这里插入图片描述
20-dual表的作用?
dual是一个Oracle的一个虚表,保证select语句的完整性
在这里插入图片描述
21-concat(a1,a2)函数用法?
连接字符串函数:将a2连接到a1 的后面,如果a1是空,返回结果是a2;如果a2是null返回结果是a1,如果都为空,返回结果是null.
在这里插入图片描述
22-initcap函数用法?
initcap函数;是将字符串中的每一个字符串的首字母大写,其他的小写。
在这里插入图片描述
23-instr函数用法?从0开始么?
instr(a1,a2):返回字符串a2在字符串a1中的位置,如果没有则返回0.
不是从0开始的。
在这里插入图片描述
24-翻译以下函数用途: length、lower、upper、ltrim、、rtrim、trim、replace、substr、abs、ceil、floor、mod、round、trunc、add_months、last_day、months_between、sysdate、to_char、to_date、to_number、avg、count、max、min、sum、、、、、
并分别举例演示

length:获取字符串长度
lower:将字母转成小写
upper:将字母转成大写
ltrim:将字符串左边的指定字符删除
rtrim:将字符串右边的指定字符删除
trim:将字符中的指定字符删除
replace:将字符串中的某字符替换成指定的字符
substr:从固定位置截取字符串
abs:取绝对值
ceil:向上取整
floor:向下取整
mod:求余
round:截取数值,保留小数点后固定位数
trunc:用于截取时间或者数值,返回指定的值
add_months:获取指定日期添加月份后的日期值
last_day:返回指定日期所在月份的最后一天
months_between:返回两个日期之间的月份数
sysdate:返回当前时间
to_char:将数据转化成字符型
to_date:将数据转化成日期型
to_number:将数据转化成数值型
avg:平均值
count:计数
max:最大值
min:最小值
sum:总和

length、lower、upper演示:
在这里插入图片描述
ltrim、rtrim、trim、replace、substr演示:
在这里插入图片描述
abs、ceil、floor演示:
在这里插入图片描述
mod、round、trunc演示:
在这里插入图片描述
add_months、last_day,months_between演示:
在这里插入图片描述
在这里插入图片描述
sysdate、to_char、to_date、to_number演示:
在这里插入图片描述
avg、count、max、min、sum演示:
在这里插入图片描述
25-trunc与round的区别?举例说明…
round(n1,n2):返回舍入小数点右边n2位的n1的值,n2的默认值位0,就会返回小数点最接近的整数。如果n2位负数,就舍入到小数点左边相应的位上,n2必须是整数。
reunc(n1,n2):返回结尾到n2位小数的n1的值,n2默认设置为0
Trunc(number, 小数位数):直接截取,不进行四舍五入等操作
Round(number, 小数位数):截取的同时,进行四舍五入操作。
在这里插入图片描述
26-平均工资保留2位小数,SQL代码如何写?
在这里插入图片描述
27-写出insert、update、delete、truncate 的执行sql例子…
insert:
在这里插入图片描述
update:
在这里插入图片描述
delete:
在这里插入图片描述
truncate:
在这里插入图片描述
28-delete,drop和truncate的区别?
一:删除内容:
delete是DML语句,可以选择删除部分数据,也可以删除全部数据。
drop是DDL语句,删除表结构及所有数据,同时删除表的结构所依赖的约束,触发器,索引。
truncate也是DDL语句,删除的是表中全部的数据,不能选择删除部分数据,不删除表结构。
二:回滚:
delete删除的数据可以回滚,drop和truncate无法回滚。
三:释放空间:
drop和truncate会释放空间,delete删除不会。
四:执行速度:
一般来说: drop> truncate > delete。
五:安全性:
小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及。
六:相同点:
drop,truncate都是DDL语句,执行后会自动提交。
truncate和不带where子句的delete, 以及drop都会删除表内的数据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值