摘要: 如果你某个字段为空,但是你想让这个字段显示0nvl(字段名,0),就是当你选出来的时候,这个字段虽然为空,但是显示的是0,当然这个0也可以换成其他东西,如:1,2,3……NVL(EXPR1,EXPR2) 若EXPR1是NULL,则返回EXPR2,否则返回EXPR1. SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1;空值null转换函数,例如:select nvl(null,'A') from dual结果就是字符 Aselect nvl(null,100) from dual结果就是数值 阅读全文
posted @ 2013-07-16 13:29 夏淼 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: 聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下:1. AVG 返回指定组中的平均值,空值被忽略。 例:select prd_no,avg(qty) from sales group by prd_no 2. COUNT 返回指定组中项目的数量。 例:select count(prd_no) from sales 3. MAX 返回指定数据的最大值。 例:select prd_no,max(qty) from sales group by... 阅读全文
posted @ 2013-07-16 13:17 夏淼 阅读(374) 评论(0) 推荐(0) 编辑
摘要: Join操作基本:外连接、自然连接、内连接Join操作基本分为3大类:外连接(细分为:左连接、右连接、全连接)、自然连接、内连接Join操作的共性:第一步均为将所有参与操作的表进行了一个笛卡儿积,然后才依据各连接条件进行记录的筛选SQL> select * from employees;NAMEDEPARTMENT_IDSALARYGetz103000Davis201500King202200Davis305000Kochhar5000SQL> select * from departments;DEPARTMENT_IDDEPARTMENT_NAME10Sales20Market 阅读全文
posted @ 2013-07-16 13:02 夏淼 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 今天看到一个老兄的问题, 大概如下: 查询出部门的最低工资的userid 号 表结构: D号 工资 部门 userid salary dept 1 2000 1 2 1000 1 3 500 2 4 1000 2 有一个高人给出了一种答案: SELECT MIN (salary) OVER (PARTITION BY dept ) salary, dept FROM ss 运行后得到: 1000 1 1000 1 500 2 500 2 楼主那位老兄一看觉得很高深。大叹真是高人阿~ 我也觉得这位老兄实在是高啊。 但我仔细研究一下发现那位老兄对PARTITION BY的用法理解并不深刻。并没有解 阅读全文
posted @ 2013-07-16 12:52 夏淼 阅读(391) 评论(0) 推荐(0) 编辑
摘要: Oraclerank() over,dense_rank() over,row_number() over的区别--rank() over课程编号为4的课程成绩相同的人排名相同,排名不连续 1 2 2 4select cno, rank() over(partitionby cno orderby grade desc) from t_scorewhereinstr('2,4', cno) > 0--dense_rank() over课程编号为4的课程成绩相同的人排名相同,排名不连续 1 2 2 3select cno 课程编号, dense_rank() over(pa 阅读全文
posted @ 2013-07-16 11:39 夏淼 阅读(267) 评论(0) 推荐(0) 编辑