SQL语言随笔

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

2-SQL语言分类并列举每个分类语句的命令。

系统控制语句:alter system 
会话控制语句:alter session :设置会话过程中的数据格式
                              set role:设置角色
嵌入的SQL语句:open、close、fetch和execute
数据操纵语句:select、insert、delete和update
事务控制语句:commit、rollback、savepoint
数据定义语句:create、drop、alter

3-DML和DDL如何定义和区分?

DML(Data Manipulation Language)数据操纵语言:
适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.
DDL(Data Definition Language)数据定义语言:
适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.
区别:DML操作是可以手动控制事务的开启、提交和回滚的,DDL操作是隐性提交的,不能回滚。

4-select、from、where、group by、having、order by  分别代表什么意思?以及用法?

select:用指定的条件在数据库中查询结果

from:指定要查询的数据来源,如表、视图和其他select语句

where:用于对检索的数据进行筛选

group by:用于对数据进行分组

having:用于从使用group by 子句分组后的查询结果中筛选数据行

order by:对数据进行排序

5-select、from、where、group by、having、order by 执行顺序?

from子句先被执行,通过from子句获得一个虚拟表,然后通过where子句从虚拟表中获得满足条件的记录,生成新的虚拟表。将虚拟表的记录通过group bu子句分组后得到更新的虚拟表,而后having子句在最新的虚拟表中筛选出满足条件的记录组成另外一个虚拟表中,select子句会将指定的列提取出来组成更新的虚拟表,最后order by子句对其进行排序得出最终的虚拟表。这个最终的虚拟表被称为查询结果集。

6-总结SQL语言的编写规则

SQL关键字不区分大小写;
对象名和列名不区分大小写;
字符值和日期值区分大小写;
SQL语句可以分行显示。

7-查询SCOTT模式所拥有的数据表命令?
select table_name from user_tables;

 

8-总结SCOTT模式下几张数据表字段的类型有哪几类?分别代表什么意思?

NUMBER 数值型

VARCHAR2 字符型

DATE 日期型

 

9-如何在SYSTEM账户下查询SCOTT的部门表呢?
select * from scott.dept;

10-在SCOTT模式下查询用AS别名方式查询结果 
select e.empno as no,ename as name from emp as e;

 

11-算术运算符的优先级

运算符的优先级跟数学的加,减,乘,除一样,即为乘除优先,加减次之,同等级从左到右计算,有括号的先算括号,遵循四则运算法则。

12-去重语句除了distinct还有别的命令么?

可以,distinct查询效率较低,一般情况下可以直接查询需查询字段对应的主键表。

13-like运算符用法?

LIKE运算符可以使用通配符“%”和“_”。其中:
%代表0或者多个字符
_代表一个且只能是一个字符。

14-IN 和  BETWEEN的用法区别?分别还要注意什么?

IN:选择IN表达式中范围的数据
BETWEEN ...AND...:类似于闭区间,选择介于此范围内的数据

15-GROUP BY 5种 常用聚合函数并分别举例说明效果

16-HAVING与GROUP BY 组合用法并解释命令作用

17-ORDER BY 排序默认升序还是降序?
默认升序

18-内连接和外连接的区别?

内连接:在每个表中找出符合条件的共有记录
外连接:有三种方式:左连接,右连接和全连接
左连接:根据左表的记录,在被连接的右表中找出符合条件的记录与之匹配,如果找不到与左表匹配的,用null表示。
右连接:根据右表的记录,在被连接的左表中找出符合条件的记录与之匹配,如果找不到匹配的,用null填充。
全连接:返回符合条件的所有表的记录,没有与之匹配的,用null表示(结果是左连接和右连接的并集)。

19-INSERT 语句插入一条数据
insert into emp(empno,ename,job) values(999,'TEST','IT');

 

20-dual表的作用?

dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。

21-concat(a1,a2)函数用法?

作用:连接两个字符串

22-initcap函数用法?
作用:首字母大写

23-instr函数用法?从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:总和


25-trunc与round的区别?
round 截取后四舍五入
trunc 直接截取

26-平均工资保留2位小数,SQL代码如何写?

select round(agv(sal),2) from emp;

27-写出insert、update、delete、truncate 的执行sql例子

insert into emp(empno,ename,job) values(999,'TEST','IT');

update emp set ename='ZHANGSAN' where ename='TEST';

delete from emp where ename='ZHANGSAN';

truncate emp;

28-delete和truncate的区别?
delete可以配合条件语句使用,删除部分数据
truncate清空表数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值