
sql
javaee_sunny
知行合一.
展开
-
mybatis动态sql
动态SQLMyBatis的一个强大的特性之一通常是它的动态SQL能力。如果你有使用JDBC或其他 相似框架的经验,你就明白条件地串联SQL字符串在一起是多么的痛苦,确保不能忘了空格或在列表的最后省略逗号。动态SQL可以彻底处理这种痛苦。 通常使用动态SQL不可能是独立的一部分,MyBatis当然使用一种强大的动态SQL语言来改进这种情形,这种语言可以被用在任意映射的SQL语句中。 动态SQL元转载 2016-10-08 11:36:24 · 416 阅读 · 0 评论 -
ORACLE IN 与NOT IN 的性能区别
业务问题大概可以这样描述,一个父表,一个子表,查询的结果是找到子表中没有使用父表id的记录,这种情况估计很多系统都会牵涉得到。让我们来举一个例子: 表一: 父表 parent 表二: 子表 childen 父表存储父亲,子表存储孩子,然后通过pid和父表关联,查询需要的结果是找到尚未有孩子的父亲。 我们来看一下查询语句的写法: se转载 2017-08-22 11:27:31 · 950 阅读 · 0 评论 -
ORACLE in与exists语句的区别
结论:1. select * from A where id in(select id from B);使用in语句,上述执行次数为A.length * B.length次;2. select a.* from A a where exists(select 1 from B b where a.id=b.id);使用了exists语句,exists()会执行A.length次转载 2017-08-22 11:41:27 · 278 阅读 · 0 评论 -
存储过程中处理用逗号拼接成的参数
--in_pid 为入参,如: 12,23,24SELECT REGEXP_SUBSTR(in_pid, '[^,]+', 1, rownum) FROM DUAL CONNECT BY rownum <= (length(in_原创 2017-08-24 14:22:16 · 757 阅读 · 0 评论