好像是標準sql吧,就這么寫啊。不過大表可不能這么做哦,太占資源了。

創(chuàng)新互聯(lián)專注于弋陽企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),購物商城網(wǎng)站建設(shè)。弋陽網(wǎng)站建設(shè)公司,為弋陽等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
補充:
oracle里面有“+”的,不過我懷疑你是不是要拼兩個字符串。正統(tǒng)數(shù)據(jù)庫,包括oracle和db2拼接字符串都是采用雙豎線“||”,加號只能用于使兩個整型或者浮點型數(shù)值相加。
這需要看你的相關(guān)字段的類型的。如果是數(shù)值型,需要首先轉(zhuǎn)換為字符型,再合并,例如:
select
*
from
a
where
to_char(col001)||to_char(col002)
not
in
(select
to_char(col001)||to_char(col002)
from
b)
如果是字符型,可以直接合并:
select
*
from
a
where
col001||col002
not
in
(select
col001||col002
from
b)
如果是date型,同樣轉(zhuǎn)換為字符,具體查手冊。
但是你這種寫法,怎么說呢,不太好把,首先這并不是嚴格按照你所描述的邏輯,舉例來說,如果表a字段是:"12","3",表b是:"1","23"那又會怎樣?另外,not
in總是執(zhí)行全表掃描,效率不高,這樣寫會好一些:
select
a.*
from
a
left
join
b
on
(a.col001
=
b.col001
and
a.col002
=
b.col002)
where
b.col002
is
null
是存儲過程里面的 IF/ELSE ? 還是簡單的 DECODE ?
SQL DECLARE
2 testvalue INT;
3 BEGIN
4 testvalue := 100;
5
6 IF testvalue 100 THEN
7 dbms_output.put_line( '100+' );
8 ELSIF testvalue = 100 THEN
9 dbms_output.put_line( '100' );
10 ELSE
11 dbms_output.put_line( '100-' );
12 END IF;
13
14 END;
15 /
100
PL/SQL procedure successfully completed.
SQL SELECT
2 DECODE(GROUPING(sale_item), 1, 'ALL', sale_item) AS iten,
3 SUM(sale_money) AS money
4 FROM
5 sale_report
6 GROUP BY
7 ROLLUP(sale_item);
ITEN MONEY
------ ----------
A 733285
B 2382
C 5738
ALL 741405
SELECT
distinct?id,state,name
FROM
table1?main
WHERE
NOT?EXISTS(?select?1?FROM?table1?sub?where?main.id=sub.id?AND?main.statesub.state);
未經(jīng)測試。。。純屬手寫,,如果以自己多年經(jīng)驗來說的話。。這段話應(yīng)該不會有多大問題。。。希望你自己仔細測試之后能夠提出寶貴意見!!!
新聞標題:oracle中怎么寫判斷 oracle怎么寫判斷語句
地址分享:http://chinadenli.net/article28/hgpicp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站設(shè)計公司、企業(yè)網(wǎng)站制作、網(wǎng)站排名、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)