`

复杂查询:where、五个集合函数、order by、group by、having、decode、sign、nvl

 
阅读更多

第一:dql:数据查询语言

1.语法

select 列名 【聚合函数】

from table_name 【 (中括号字面的可以不出现)

where (检索条件,也是过滤(对行))

order by(排序)

group by(分组)(后面这两必须同时出现)

having(也是过滤,但是是对分组的结果过滤) 】

2.where后的条件表达式的运算符:

> < >= <= and or not

in(在...里。in里面是个集合,例如判断某个学生的姓名是否在这里出现过,如果出现了就输出),

not in, is null, is not null(是否空),

like(模糊查询,%表示任意多个任意字符,_表示任意一个字符),

between and(只能比较数字和日期)

3.查询中常用的集合函数(方法的调用,返回一个值(就一个))

(1).max(列名)求最大值

(2).min(列名)求最小值

(3).avg(列名)求平均

(4).sum(列名)求和

(5).count(* or 列名)按照行求总数(这个是按照行算的,以上四个是按照列算的)

4.order by排序:asc(默认)小到大,desc大到小

select ssex from student order by age desc(都可以省略where)

5.group by:

统计男同学的人数,女同学的人数,还有性别为null的人数

(1).select ssex,count(*) from student group by ssex.---注释: (都可以省略where)聚合函数与分组函数在一起时,先分组在统计。

(2). select ssex from student where ssex is not null group by ssex (不合理,因为会先执行where在执行分组)(3). select ssex,count(*) from student group by ssex having count(*>=2)(对分组的结果进行统计)

6.group by中要注意的问题:

select后的列(1.必须出现在group by 。2.select 后的列必须出现在聚合函数中)

自我理解:

(1),如果想查sno,然后在group by 中出现sno,这就能确保查出来的是一个对象。

(2).五个集合函数的返回值都是一个对象(一个值),这样也确保了查询结果只有一个。

 7.nvl()

 nvl1():判断这一列的值是否为空,如果为空就显示我定义的值...(相等于if)

select student sno,sname,nvl(ssex,'密') from student

nvl2():如果为空就显示密,否则显示开....(相等于if else)

select student sno,sname,nvl(ssex,'开','密') from student 8.decode():....(相当于多重if)

8.select decode(2, 1,'a' ,2,'b' ,3,'c','d') from student

例题:select scid,sno,decode(cid, 1,'java' ,2,'oracle' ,3,'javaee') from score

9.sign函数:比较结果,如果是真返回1,假返回-1,相等返回0 例题:select sign(122-100) from dual

 

 

注意:查询中的执行步骤:先分组,在聚合,最后筛选。。。(where ,分组,集合函数,筛选)

 

分享到:
评论

相关推荐

    decode函数.docx

    Decode 函数详解 Decode 函数是一个强大的 Oracle 函数,用于根据条件返回不同的值。它的语法结构为 `decode(条件,值 1,返回值...decode 函数是一个非常有用的 Oracle 函数,能够简化复杂的逻辑运算,并提高开发效率。

    关于decode函数的使用

    主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明); 使用方法: Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) From talbename Where … 其中column...

    oracle中nvl、decode、trim、rtrim的常见用法

    列举oracle中nvl、decode、trim、rtrim的常见用法

    关于oracle decode函数的用法

    关于oracle decode函数的用法

    Oracle-Decode()函数和CASE语句的比较

    本文讲述了Oracle-Decode()函数和CASE语句的比较。

    SQL语句的DECODE和NVL

    SQL语句的DECODE和NVL,肯定能帮到你,好用!

    orcale中DECODE函数

    1 DECODE 中的if-then-else逻辑 在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。

    常见sql语句

    下面是常见的SQL语句,包括NVL函数、Decode函数、Case函数、更改列标题、组合查询、整合性查询、复合性查询和update语句。 1. NVL函数: NVL函数是一个空值转换函数,用于将空值转换成实际值。其语法为NVL(表达式...

    Oracle中Decode()函数使用技巧.doc

    Oracle中Decode()函数使用技巧

    Oracle中Decode()函数的有关用法

    Oracle中Decode()函数的有关用法Oracle中Decode()函数的有关用法

    常用的SQL函数详细讲解

    字符函数 数值函数 日期函数 数据转换函数 decode函数 nvl函数

    oracle的decode函数

    DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。

    python decode()和encode()函数详解

    decode和encode是他们之间的转化函数 大致的过程如下 decode encode str --&gt; str(Unicode) --&gt; str decode()方法语法: str.decode(encoding=‘UTF-8’,errors=‘strict’) 参数: encoding – 要使用的编码...

    oracle中decode()函数使用技巧

    oracle中decode()函数使用技巧 很有帮助的哦

    Oracle中Decode()函数使用技巧

    Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧Oracle中Decode()函数使用技巧

    Oracle 中 decode 函数用法

    含义解释: decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN  RETURN(翻译值1) ELSIF 条件=值2 THEN ... 当然值1,值2,值3也可以是表达式,这个函数使得某些s

    SQL中 decode()函数简介

    今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现...

    gzip124 decode函数说明

    gzip124 源代码中decode函数说明

    decode函数.pdf

    decode函数.pdf

    用JavaScript实现PHP的urldecode/urldecode函数

    这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决

Global site tag (gtag.js) - Google Analytics