java基础知识(14)---面试宝典

57、说明Select语句中where和having的区别
1、 where表示对表中数据进行过滤,将符合条件的记录放入结果集,即where中不能使用聚合函数,where子句是在生产结果集的过程中执行。Having是当对聚合结果进行过滤时使用,即having中可以使用聚合函数(having一定是生产结果集之后并且分组之后才能执行)。
2、 having必须和group by 一起使用。 Where 可以不与group by 一起使用
3、 从过滤效率上where 要高于having(尽早过滤)

58、说明char和varchar的区别
1、Char表示定长字符串,如果存入的数据长度没有满足该字段的声明长度,则会自动用空格补齐
varchar表示变长字符串,如果存入的数据长度没有满足该字段的声明长度,不会自动补齐
2从查询效率上 ,char字段要高于varchar
3 char类型最多存2000个字节,varchar最多存4000个字节
如果字符串更大的话需要加将字段类型设置为大文本类型(clob类型)

59、说明Oracle中和Java中截取字符串的方法并举例
将字符串”lianxiaodong”截取出”xiao”
Oracle:

--对字符串从第5位开始截取4个substr(str,begin,length)
select substr('yangxiaodong',5,4) from dual

java:

String subname = "lianxiaodong".substring(4, 8);
System.out.println(subname);

String name="lianxiaodong";
String str = name.substring(4);//截取字符串中[4,最后]的部分
str = name.substring(4, 8);//截取字符串中[4,8)之间的部分
System.out.println(str);

60、说明Oracle中和Java中在字符串中查找目标字符串的方法

Java扫描字符串查找目标

String name="lianxiaodong";
int index = name.indexOf("a");//在name中找到第a出现的位置(如果没有找到则返回-1)
index = name.indexOf("a", 3);//从第3位开始向后查找第1个a出现的位置
index = name.lastIndexOf("a");//查找a最后一次出现的位置

ORACLE

--instr表示扫描(相当于 java中String类中的 indexOf)
/*
instr(str,target,begin,times):在字符串str中查找target(从第 begin开始向后找 第times次出现的位置)
*/
select instr('yangxiaodong','a')  from dual;--默认从第一位开始向后查找第一次出现的位置
select instr('yangxiaodong','a',1,2)  from dual
select instr('yangxiaodong','a',3,3)  from dual

61、简介索引及其作用
一种数据库对象(index)它一个独立存在的物理结构。数据库 用它来达到快速根据索引字段的查询的目的(加快根据索引字段的查询速度)。索引对使用者来说是透明的(自动的起作用)。我们在经常作为查询字段的列上建立索引。

--语法:
create index index_dbbig_id on db_big(bigid);--创建
drop index index_dbbig_id;--删除

索引和表中数据的关系:相当于 书中内容和目录的关系。当在指定列创建索引时,数据库会根据列中内容生成一个索引树(索引表)。索引的创建是耗时的。创建索引时不允许同时对表执行DML语句操作(已online 形式创建索引可以同时进行DML操作,但是这种创建索引耗时会更长)
注意:索引的创建时机:在系统使用率最低时,进行创建(影响最小化)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值