1. case用法:

--简单case函数

case sex

when '1' then 'boy'

when '2' then 'girl'

else '其他'

end;

--case搜索函数

case

when sex ='1' then 'boy'

when sex ='2' then 'girl'

else '其他'

end;

举例:判断工资等级,统计每个等级的人数,

SELECT

CASE WHEN salary <= 500 THEN '1'

WHEN salary > 500 AND salary <= 600  THEN '2'

WHEN salary > 600 AND salary <= 800  THEN '3'

WHEN salary > 800 AND salary <= 1000 THEN '4'

ELSE NULL END salary_class,

COUNT(*)

FROM    Table_A

GROUP BY

CASE WHEN salary <= 500 THEN '1'

WHEN salary > 500 AND salary <= 600  THEN '2'

WHEN salary > 600 AND salary <= 800  THEN '3'

WHEN salary > 800 AND salary <= 1000 THEN '4'

ELSE NULL END;

2. sum()与count()区别:

cout()是返回匹配条件的行数。

cout(column_name)函数返回指定列的值得数目(null不计入):

select count(column_name) from table_name

cout(*)函数返回表中的记录数:

select count(*) from table_name;---返回table表中所有的记录(记录也就是一条数据,即行,一条数据包含多个数据,每个数据就是一个字段)

sum()函数

sum函数返回数值列的总数(总额)

select sum(coulum_name) from table_name,

例如:

select sum(orderprice) as ordertotal from orders;

功能是查找"orderprice"该字段的总数。--也就是该字段下的所有值,

*:没有sum(*)这种方法。

3. select into 与insert into select区别:

insert into table2 (feild1,feils2,..) select value1,value2,.. from table1;

要求目标表table2必须存在,由于目标表table2已经存在,所以除了插入源表table1的字段外,还可以插入常量。

如:Insert into Table2(a, c, d) select a,c,5 from Table1

INSERT INTO table1 ( column1, column2, someInt, someVarChar ) SELECT table2.column1, table2.column2, 8, 'some string etc.' FROM table2 WHERE table2.ID = 7;

more examples: http://stackoverflow.com/questions/25969/sql-insert-into-values-select-from

select into from :

select vae1,val2 into table2 from table1

要求目标表table2不存在,因为在插入时会自动创建表table2,并将table1中指定字段数据复制到table2。\

参考:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html

4. order by 与group by 用法

ORDER BY 用在对查询结果进行排序,即查询什么排序相应字段

GROUP BY 用于进行分组排序,与集合函数一起用,举例:

SELECT f_id ,SUM(f_price) AS total_price FROM fruits GROUP BY s_id;

后面必须跟着一个 GROUP BY s_id,如果没有,执行编译时会报错:

ERROR:  column "fruits.s_id" must appear in the GROUP BY clause or be used in an aggregate function

oracle中一些用法总结的更多相关文章

  1. ORACLE 中ROWNUM用法总结(转)

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...

  2. ORACLE 中ROWNUM用法总结!

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...

  3. 转:ORACLE 中ROWNUM用法总结!

    oracle 分页查询语句:select * from (select u.*,rownum r from (select * from userifno) u where rownum<大值) ...

  4. 【LeetCode刷题】SQL-Second Highest Salary 及扩展以及Oracle中的用法

    转载于:https://www.cnblogs.com/contixue/p/7057025.html Write a SQL query to get the second highest sala ...

  5. Oracle中rownum用法警示

    今天调试代码,发现分页查询时使用Oracle中rownum的between......and用法的bug,特此总结: 参考资料:http://blog.csdn.net/lg312200538/art ...

  6. Oracle中Instr用法

    在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识. Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为:Instr ...

  7. ORACLE中dual用法详解

    基本上oracle引入dual为的就是符合语法1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的.2. Oracle中的dual表是一 ...

  8. Oracle中TO_DATE用法

    TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy ...

  9. [转]ORACLE 中ROWNUM用法总结!

    原文地址:http://www.itpub.net/thread-824147-1-1.html 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between ...

随机推荐

  1. 【BZOJ-2453&2120】维护队列&数颜色 分块 + 带修莫队算法

    2453: 维护队列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 653  Solved: 283[Submit][Status][Discuss] ...

  2. 【poj1419】 Graph Coloring

    http://poj.org/problem?id=1419 (题目链接) 题意 求一般图最大独立集. Solution 最大独立集=补图的最大团. 代码 // poj1419 #include< ...

  3. Hibernate学习-Hibernate查询语言HQL

    HQL(Hibernate Query Language)Hibernate查询语言,语法类似于SQL,可以直接使用实体类及属性. 使用HQL 可以避免使用JDBC 查询的一些弊端 不需要再编写繁复的 ...

  4. Android成长日记-使用GridView显示多行数据

    本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...

  5. HTML5系列一(属性概述)

    HTML5概述 HTML5於2004年被WHATWG(网页超文本技术工作小组)提出,於2007年被W3C接纳 在2008年1月22日,第一份正式草案已公布.WHATWG表示该规范是目前正在进行的工作, ...

  6. OpenGLES入门笔记一

    学习地址:http://www.raywenderlich.com/3664/opengl-tutorial-for-ios-opengl-es-2-0 中文翻译:http://www.cnblogs ...

  7. Manacher算法

    Manacher算法是求回文串最高效的算法,能在线性时间内求出以每一个字符为中心的最长回文串.   首先,我们都能想出$O(N^2)$求出每一个字符为中心的最长回文串的算法.那么我们考虑这样一种情况. ...

  8. ES6之模版字符串

    ES6之模版字符串 最近在项目中使用了ES6的模版字符串,在这里加以总结. 1.之前我们也可以使用JavaScript输出模版字符串,通常是下面这样的: $("#result"). ...

  9. Linux bash 中,如何将正常信息和错误信息输出到文件

    问题描述: $ command 2>> error $ command 1>> output 是否有方法,在bash同一行,实现输出stderr到error文件,输出stdou ...

  10. uC/OS-II队列(OS_q)块

    /*************************************************************************************************** ...