亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Oracle高級查詢

  • select max (avg(sal))

    from emp

    group by deptno;

    查看全部
  • select deptno ,avg(sal) 平均工資

    from emp?

    group by deptno

    order by 2? ---這里代表第二個元素 也可以改成? ?別名 平均工資 結果一樣? 或者直接把函數復制過來


    desc降序

    查看全部
  • where 后面不能使用 組函數 多函數 之類的?

    這是他與 having的區別? ??

    having是先分組再過濾? 比如你要部門編號為10的 員工 他會先按編號分組

    where 是直接過濾 在分組?

    但是從sql優化上 盡量選擇where


    ora-00934

    查看全部
  • select avg (表中列字段) ,sum (表中列字段) ?from 表; ? --列出 表中字段的平均值,和
    select max (表中的字段), min (表中的字段) from 表 ; --列出表中字段的 最大值 最小值
    select ?count(*) from 表; 輸出這個表中一共有的數據條數
    select count(distinct 表中字段) from 表; ? 輸出表中不重復字段的個數 ?
    distinct 用于去重

    查看全部
    0 采集 收起 來源:使用分組函數1

    2018-04-19

  • select deptno ,avg(sal)
    from emp
    group by deptno ; ?--按照部門編號分組

    select a,b,c ,組函數(x)
    from table
    group by a ; ?--這里應該寫a,b,c 不能只寫a ? ? ? ? ? ? ?通過部門號 ?然后通過b c條件接著分組
    只寫a ?ora-00937 ?非法使用分組函數
    在select 列表中所有未包含的組函數中的列 ?group by中都應該寫
    select avg(sal)
    from emp
    group by deptno; ? ? ? ? ? ? ? ?--這種不會展示deptno

    查看全部
  • select sum(sal)/count(*) , sum(sal)/count(sal) ?, ? avg(sal) ?from emp ; ?

    count(*) 會包含空值的個數

    分組函數會自動過濾掉空值

    nvl函數 ?使得分組函數不忽略空值

    nvl(comm,0) ? 這個函數的意思是 當該字段為空的時候返回第二個參數
    當字段不為空 返回他本身

    這個函數可用于自增的輸入
    nvl(max(sno),0))+1 ?最大值加一 ? 可用于插入數據的編號

    查看全部
    0 采集 收起 來源:使用分組函數3

    2018-04-19

  • select count(*),count(nvl (comm,0) from emp;

    空值返回0,非空返回comm的值

    查看全部
    0 采集 收起 來源:使用分組函數3

    2018-04-17

  • select 字段1,avg(字段2)

    from 表名

    group by 字段1,字段2

    order by 字段1;

    查看全部
  • 多行子查詢中的空值問題
    查看全部
  • 子查詢主要問題

    查看全部

  • Select

    ? ? ? (Select Count(*) From emp)total,

    ? ? ? (Select Count(*) From emp Where to_char(hiredate,'yyyy')='1980') "1980",

    ? ? ? (Select Count(*) From emp Where to_char(hiredate,'yyyy')='1981') "1981",

    ? ? ? (Select Count(*) From emp Where to_char(hiredate,'yyyy')='1982') "1982",

    ? ? ? (Select Count(*) From emp Where to_char(hiredate,'yyyy')='1987') "1987"

    From dual;


    Select um(Decode(to_char(hiredate,'yyyy'),'1980',1,0)) "1980",

    ? ? ? ?Sum(Decode(to_char(hiredate,'yyyy'),'1981',1,0))"1981",

    ? ? ? ?Sum(Count(*) totla ,

    ? ? ? ?SDecode(to_char(hiredate,'yyyy'),'1982',1,0)) "1982",

    ? ? ? ?Sum(Decode(to_char(hiredate,'yyyy'),'1987',1,0)) "1987"

    ? ? ? ?From emp ;?


    查看全部
    0 采集 收起 來源:案例3

    2018-04-05

  • 單行子查詢注意點
    查看全部
  • 使用行號需要注意的兩個問題
    查看全部
  • 不知道查詢的結果是不是保證順序的,比如'1,2,3,4'的結果應該是'張三,李四,王五,趙六',而如果是'1,3,2,4',那么結果應該是'張三,王五,李四,趙六',下列查詢語句應該可以解決,不知還有沒有更簡便的語句

    SELECT?B.CI_ID,?MAX(B.WM)?STU_NAME
    ??FROM?(SELECT?A.CI_ID,
    ???????????????WM_CONCAT(A.STU_NAME)?OVER(PARTITION?BY?A.CI_ID?ORDER?BY?A.CI_ID,?A.P)?WM
    ??????????FROM?(SELECT?PC.CI_ID,?PS.STU_NAME,?INSTR(PC.STU_IDS,?PS.STU_ID)?P
    ??????????????????FROM?PM_CI?PC,?PM_STU?PS
    ?????????????????WHERE?INSTR(PC.STU_IDS,?PS.STU_ID)?>?0
    ?????????????????ORDER?BY?CI_ID)?A)?B
    ?GROUP?BY?B.CI_ID;


    查看全部
    2 采集 收起 來源:練習

    2018-04-04

  • SELECT?COUNT(*)?TOTAL,
    ???????SUM(DECODE(TO_CHAR(HIREDATE,'yyyy'),'1980',1,0))?"1980",?
    ???????SUM(DECODE(TO_CHAR(HIREDATE,'yyyy'),'1981',1,0))?"1981",
    ???????SUM(DECODE(TO_CHAR(HIREDATE,'yyyy'),'1982',1,0))?"1982",
    ???????SUM(DECODE(TO_CHAR(HIREDATE,'yyyy'),'1987',1,0))?"1987"
    FROM?EMP?A


    查看全部
    0 采集 收起 來源:案例3

    2018-04-04

舉報

0/150
提交
取消
課程須知
小伙伴們,學習本課程前需要掌握Oracle的語法基礎,并且對Oracle的函數有所了解。如不了解這兩部分內容,請移步《Oracle數據庫開發必備利器之SQL基礎》和《Oracle數據庫開發利器之函數》兩門教程。
老師告訴你能學到什么?
1、掌握分組查詢 2、掌握多表查詢 3、掌握子查詢

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!