ORACLE 11G学习笔记4—SQL语言

一、列举
1、数据定义命令:
create、drop、alter创建、删除、更改表、视图、索引、存储过程等
2、数据操作命令:
select 语句:从一个表或视图中检索数据的查询语句;
insert、delete和update语句:从表中对列进行插入、删除、更改。

二、SQL语言分类并列举每个分类语句的命令。
1、系统控制语句:alter system
2、会话控制语句:alter session :设置会话过程中的数据格式
set role:设置角色
3、嵌入的SQL语句:open、close、fetch和execute
4、数据操纵语句:select、insert、delete和update
5、事务控制语句:commit、rollback、savepoint
6、数据定义语句:create、drop、alter

三、DML和DDL如何定义和区分
DML:数据操纵语言,是查询或操控表中数据的语句
DDL:可创建、更改、删除数据库对象,如表和索引等
二者的区别主要在于操作的对象不同,DML主要是对数据库中表或视图进行增删改查等相关操作DDL主要是对数据库对象如表和索引等进行创建、更改和删除等的操作

四、select、from、where、group by、having、order by 分别代表什么意思?以及用法?
select:用于选择数据表、视图中的列;
from:用户指定数据来源,包括表、视图和其他select语句;
where:用于对检索的数据进行筛选,自居中不能使用聚合函数;
group by:用于对检索结果进行分组显示;
having:用于从使用groupby子句分组后的查询结果中筛选数据行,条件中经常包含统计函数;
order by :用来对结果集进行排序。

五、select、from、where、group by、having、order by 执行顺序
select—>from—>where子句—>group by 子句—>having子句—>select子句—>order by子句

六、总结SQL语言的编写规则
1、SQL关键字不区分大小写;
2、对象名和列名不区分大小写;
3、字符值和日期值区分大小写;
4、SQL语句可以分行显示。

七、查询SCOTT模式所拥有的数据表命令
select table_name from user_tables;
在这里插入图片描述

八、总结SCOTT模式下几张数据表字段的类型有哪几类?分别代表什么意思?
VARCHAR2: 可变长度的字符串
NUMBER:数字类型
DATE:日期(日-月-年)

九、如何在SYSTEM账户下查询SCOTT的部门表呢?写出语句…
select table_name from dba_tables where owner=‘SCOTT’;
在这里插入图片描述

十、在SCOTT模式下查询用AS别名方式查询结果
在这里插入图片描述

十一、算术运算符的优先级并写出使用语句
+,-,,/
对应数据中的加,减,乘,除。
算术运算符的优先级:
运算符的优先级跟数学的加,减,乘,除一样;
即为乘除优先,加减次之,同等级从左到右计算,有括号的先算括号,遵循四则运算法则。
select empno,ename,sal+100 from emp;
在这里插入图片描述
select empno,ename,sal
(1+0.1) from emp;
在这里插入图片描述

十二、去重语句除了distinct还有别的命令么?
当查询比较大的表时,应尽可能避免使用distinct语句,可以直接到所需要查询的列信息对应的值是不重复值的表中进行查找。
如:select deptno from dept
和 select distinct deptno from emp;
所得到的查询结果是一样的。
在这里插入图片描述

十三、like运算符用法
like 运算符可以使用以下两个通配符“%”和“”。
其中:“%”代表0个或多个字符;
”代表一个且只能是一个字符。
select * from emp where ename like ‘S%’
在这里插入图片描述
select * from emp where ename like ‘S____’;
在这里插入图片描述
select * from emp where ename like ‘S%’;
在这里插入图片描述

十四、IN 和 BETWEEN的用法区别?分别还要注意什么?范围和大小…
通过in查找的内容为in中()范围内的信息,举例如下,如在in前面增加not,则是取()范围以外的:
select * from emp where sal in (1000,2000,3000);
between and 主要是用来取某个数值范围内(含()内数值)的信息,举例如下,如在between前增加not,则是取()内数值以外的,不包含()内的数值:
在这里插入图片描述

十五、GROUP BY 5种 常用聚合函数并分别举例说明效果…用as取别名解释
1、avg 返回一个数字列或者是计算列的平均值;
2、count 返回查询结果中的记录数;
3、max 返回一个数字列或者是计算列的最大值;
4、min 返回一个数字列或是计算列的最小值;
5、sum 返回一个数字列或是计算列的总和。
在这里插入图片描述
十六、HAVING与GROUP BY 组合用法并解释命令作用…
HAVING与GROUP BY 组合在一起使用,在完成对分组结果统计后,可以使用HAVING子句对分组的结果做进一步的筛选。
在这里插入图片描述

十七、ORDER BY 排序默认升序还是降序?
升序

十八、内连接和外连接的区别?并用查询结果证明…
使用内连接进行多表查询时,返回的结果是只包含符合查询条件和连接条件的行,内连接消除了与另外一个表中不匹配的行。
而外连接是扩展了内连接的结果集,除了返回所有匹配的行之外,还会返回部分不匹配的行,这主要取决于外连接的种类。
在这里插入图片描述
在这里插入图片描述

十九、INSERT 语句插入一条数据…
在这里插入图片描述

二十、dual表的作用?
dual是一个虚拟表,用来构成select的语法规则,确保select语句的完整性,oracle保证dual里面永远只有一条记录。

二十一、concat(a1,a2)函数用法?
concat(a1,a2)函数就是将两个字符串合并到一起。
在这里插入图片描述

二十二、initcap函数用法?
initcap函数,将对应的字符串首字母大写。
在这里插入图片描述

二十三、instr函数用法?从0开始么?
instr(s1,s2[,i][,j]),s2在s1中第j次出现的位置,搜索从s1中的第i个字符开始,如果没有找到所需内容,则返回0,如果i是负数,则从左往右开始搜索。
在这里插入图片描述

二十四、翻译以下函数用途: 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
在这里插入图片描述

to_date、to_number
在这里插入图片描述
avg、count、max、min、sum
在这里插入图片描述

二十五、trunc与round的区别?举例说明…
在这里插入图片描述
trunc根据要截取的小数点位数直接截取,不考虑是否需要四舍五入;
round会按照四舍五入截取对应位数的小数。

二十六、平均工资保留2位小数,SQL代码如何写?
在这里插入图片描述

二十七、写出insert、update、delete、truncate 的执行sql例子…
insert :
在这里插入图片描述
update:
在这里插入图片描述

delete:
在这里插入图片描述

truncate:
在这里插入图片描述

二十八、delete和truncate的区别?
delete和truncate都是用来删除数据库表中相关数据,但是truncate效率要比delete高很多,因为在执行truncate时不会形成回滚记录,不过正因为这一点,在执行了truncate语句之后,就无法像delete一样可以执行rollback语句进行撤销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值