-
自連接,查詢同一張表,但是給表賦予別名,比如FROM PRO a,PRO b WHERE ...
查看全部 -
?等值鏈接統(tǒng)計(jì)不到在a表存在,在b不存在的,where條件不成立,所以要用外鏈接(比如平時(shí)用到的規(guī)則中心),
lift join。。。on。。。相當(dāng)于A=B(+)
right join。。。on。。。相當(dāng)于A(+)=B;
查看全部 -
1.最后一句等于前面三句加起來:
按照部門,不同職位,統(tǒng)計(jì)工資總額
同時(shí)按照部門統(tǒng)計(jì)工資總額,
最后統(tǒng)計(jì)工資總額
2.關(guān)于報(bào)表:
break on deptno skip 2
相同的部門號(hào)(deptno)只顯示一次,不同的部門號(hào)跳過兩行。
3.關(guān)于頁面展示:
set pagsize 30
讓每頁顯示30條記錄。
注意:關(guān)于這部分,后面集合運(yùn)算會(huì)再次舉這個(gè)例子
查看全部 -
a命令,append,表示在上條語句后面追加,
a ?desc,兩個(gè)中間必須有兩個(gè)以上空格。否則就相當(dāng)于order by 2desc.
查看全部 -
排序的時(shí)候,可以寫成order by 2這種,第二列;
若寫不存在的列,會(huì)出現(xiàn)如圖的報(bào)錯(cuò)(order by 項(xiàng)必須是select-list 表達(dá)式的數(shù)目)
查看全部 -
nvl(a列,0),若a列有值則返回a列,否則返回0,即:將空值轉(zhuǎn)換為0
查看全部 -
select wm_concat(s.stu_name) "stu_name"?
from pm_stu s,pm_ci c?
where instr(c.stu_ids,s.stu_id)>0?
group by c.ci_id;
查看全部 -
這題一拿過來,我首先想到了子查詢直接用count函數(shù)計(jì)算
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;
看到這個(gè)位置之后才知道可以借助decode返回?cái)?shù)字來做sum累加,故意自己改成case when then else end
select count(*) Total,
sum(case to_char(hiredate,'yyyy') when '1980' then 1 else 0 end ) "1980",
sum(case to_char(hiredate,'yyyy') when '1981' then 1 else 0 end ) "1981",?
sum(case to_char(hiredate,'yyyy') when '1982' then 1 else 0 end ) "1982",?
sum(case to_char(hiredate,'yyyy') when '1987' then 1 else 0 end ) "1987"
from emp;
查看全部 -
count(*)不會(huì)忽略空值,count(具體列名)只會(huì)統(tǒng)計(jì)非空查看全部
-
wm_concat行轉(zhuǎn)列查看全部
-
多表查詢,取別名
查看全部
舉報(bào)