![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
文章平均质量分 64
zzm628
这个作者很懒,什么都没留下…
展开
-
mysql中distinct的用法(不重复记录)
distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。下面先来看看例子:table表字段1 字段2 id name 1 a原创 2016-02-24 11:06:29 · 1508 阅读 · 0 评论 -
oracle如何设置序列当前值
Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多。但是,有时需要修改序列初始值(START WITH)时,有同仁使用这个语句来修改:alter sequence sequencename start with xxxxxxxx。但是,在Oracle DB中,修改序列没有这样的语法。下面介绍几种修改方式:1.先删除序转载 2017-04-26 09:53:10 · 1698 阅读 · 0 评论 -
oracle获取两个月前的时间
SELECT add_months(sysdate,-2) FROM dual;SELECT sysdate-60 FROM dual;两种方式,取得的日期不一定是同一时间原创 2017-03-28 15:22:55 · 9260 阅读 · 0 评论 -
SQL四种语言:DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema.DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CR转载 2016-11-16 10:39:06 · 284 阅读 · 0 评论 -
oracle 中使用单引号(')和双引号(")
--在ORACLE中,单引号有两个作用:-- 1:字符串是由单引号引用-- 2:转义。--单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解--1.从第二个单引号开始被视为转义符,如果第二个单引号后面还有单引号(哪怕只有一个)。 SQL> select '''' result from dual;RESULT------' --第二个单引转载 2016-08-08 13:20:52 · 3731 阅读 · 0 评论 -
ORACLE中ESCAPE关键字用法
ESCAPE用法1.使用 ESCAPE 关键字定义转义符: 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。 select * from a WHERE name LIKE '%aa/转载 2016-08-03 11:12:37 · 370 阅读 · 0 评论 -
ORACLE中AND与OR的优先级
1、AND比OR的优先级高--Yselect 'Y' from dual where 1=2 and 1=2 or 1=1;--Yselect 'Y' from dual where (1=2 and 1=2) or 1=1;--No valueselect 'Y' from dual where 1=2 and (1=2 or 1=1);原创 2016-08-04 15:19:56 · 17840 阅读 · 6 评论 -
在oracle中where 子句和having子句中的区别
1.where 不能放在GROUP BY 后面2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE3.WHERE 后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING 可以 Where和Having都是对查询结果的一种筛选,说的书面点就是设定条件的语句。下面分别说明其用法和异同点。注:本文使用字段为oracle数据转载 2016-07-29 14:17:51 · 278 阅读 · 0 评论 -
Select语句完整的执行顺序
SQL Select语句完整的执行顺序:1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、使用order by对结果集进行排序 select --5 from --1 where -转载 2016-07-27 15:49:53 · 306 阅读 · 0 评论 -
oracle实现"limit"功能
oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,rownum并不是用户添加的字段,而是oracle系统自动添加的。(1)使查询结果最多返回前10行:select * from OB_CALL_DATA_LOG where rownum(2)使查询结果返回中间的10到100行:如: select * from转载 2016-04-11 11:16:07 · 1193 阅读 · 0 评论 -
根据一个表中的数据去更新另一个表中的数据
两个表,表1,id pid amount,表2,pid(主键) amount,怎么根据表2中的pid,更新表1中的amount。建表sql:-- ------------------------------ Table structure for `table1`-- ----------------------------DROP TABLE IF EXIST原创 2016-02-24 14:07:39 · 1949 阅读 · 0 评论 -
只使用一条sql语句,删除表中的重复记录
一个表,表1,ref(唯一值),type(有重复)如何去掉重复记录。建表sql语句:-- ------------------------------ Table structure for `deletechongfu`-- ----------------------------DROP TABLE IF EXISTS `deletechongfu`;CREATE TA原创 2016-02-24 11:10:51 · 1042 阅读 · 0 评论 -
mysql中You can’t specify target table for update in FROM clause错误解决方法
这篇文章主要介绍了mysql中You can’t specify target table for update in FROM clause错误解决方法,需要的朋友可以参考下mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(转载 2016-02-24 11:11:23 · 548 阅读 · 0 评论 -
oracle中decode的使用以及如果使用decode进行范围匹配
1 、含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(返回值1)ELSIF 条件=值2 THEN RETURN(返回值2) ......ELSIF 条件=值n THEN RETURN(返回值n)ELSE RET原创 2017-10-13 09:10:50 · 6207 阅读 · 0 评论