“oracle case when” 語句“then ”之后可不可以加查詢語句
應該是不可以.
除非是 子查詢:
select case when col1 = 1 then (select count(1) from tab_b ) else 0 end
from tab_a.
OQL是SOD框架的ORM查詢語言,它類似Linq,但是它誕生的歷史比Linq早,并且更加接近SQL語法。所以,對SOD框架而言,對應ORM如何支持CASE WHEN,就等于是問OQL如何支持CASE WHEN了。
這個問題已經不止這一個朋友來問我了,我想了下,還是把這個問題的解決寫一篇博客,給大家一種新的解決方案。注意新的方案這個提法,我是不打算讓OQL支持CASE WHEN這個特性的,為何要這樣做呢?
QL只解決 80%的普通查詢,其它復雜的查詢,應該依托于其它技術,否則會增加OQL的復雜性.
復雜的查詢,可以借助于SOD框架的SQL-MAP技術,將SQL語句寫在*文件中;
可以采用數據庫視圖或者計算列.
求 數據庫 簡單考試表例子
一、填空題:02分,每題02分1、 如果事務T對數據D加了S鎖,則在T釋放D上的S鎖以前,其他事務只能對D加( )而不能加( )。
二、單選題:20分,每題02分2、 ( )是按照一定的數據模型組織的,長期儲存在計算機內,可為多個用戶共享的數據的聚集。A: 數據庫系統 B: 數據庫 C: 關系數據庫 D: 數據庫管理系統 3、 ( )處于數據庫系統的核心位置。
A: 數據字典 B: 數據庫 C: 數據庫管理系統 D: 數據庫管理員 4、 數據庫管理系統允許用戶把一個或多個數據庫操作組成( ),它是一組按順序執行的操作單位。A: 命令 B: 事務 C: 文件 D: 程序 5、 要查詢“xx電大”的所有課程,可用如下OQL語句: SELECT c FROM Courses c WHERE ( )='xx電大';A: *y B: *y C: * D: * 6、 對于屬性attribute enum Film {color,blackwhite} Type;正確的描述是( )。
A: 該屬性是一個枚舉類型的結構類型 B: 該屬性是一個結構類型的原子類型 C: 屬性Type有兩種可能的取值:color 和blackwhite D: 字符串“黑白片”可能是屬性Type的取值 7、 有CONNECT權限的用戶不具有下列( )權限。A: 更新數據庫中的數據 B: 更新數據庫中的數據 C: 建立視圖或定義數據的別名 D: 對其所建立的數據對象跟蹤審查 8、 關系數據庫的標準語言是( )。
A: 關系代數 B: 關系演算 C: SQL D: ORACLE 9、 如果事務T對數據D已加X鎖,則其他事務對數據D( )。A: 可以加S鎖,不能加X鎖 B: 可以加S鎖,也可以加X鎖 C: 不能加S鎖,可以加X鎖 D: 不能加任何鎖 10、 關系R包含屬性{A1,A2,A3,A4,A5},其中{A1,A2}為鍵碼(key),則下面的說法正確的是( )。
A: 或者有可能單獨成為R的鍵碼。 B: {A1,A2,A3}必然也是R的鍵碼。
C: R中絕不可能出現兩個在A1,A2上取值完全相同的元組。 D: R的所有元組中,A1或者A2的值都是不能重復的。
11、 在給出的關系實例中,有可能作為鍵碼的是( )。F1 F2 F3 F4 F5李華 20020330 H 1 10金謙 20020330 O 1 5李華 20020218 O 3 15呂宋 20020115 H 2 5顧小華 20020218 O 1 20A: B: C: {F1,F2} D: 三、多選題:10分,每題02分12、 下面對觸發程序中規定動作與觸發事件之間的關系描述正確的是( )。
A : AFTER:觸發事件完成前如果WHEN子句中的條件為真,則執行隨后的動作。 B : AFTER:觸發事件完成后如果WHEN子句中的條件為真,則執行隨后的動作。
C : BEFORE:觸發事件執行前如果WHEN子句中的條件為真,則執行隨后動作。 D : BEFORE:觸發事件執行后如果WHEN子句中的條件為真,則執行隨后動作。
13、 下面關于數據庫模式設計的說法中正確的有( )。A : 在模式設計的時候,有時候為了保證性能,不得不犧牲規范化的要求。
B : 有的情況下,把常用屬性和很少使用的屬性分成兩個關系,可以提高查詢的速度。 C : 連接運算開銷很大,在數據量相似的情況下,參與連接的關系越多開銷越大。
D : 減小關系的大小可以將關系水平劃分,也可以垂直劃分。 14、 要查詢學生李琳選修的所有課程的成績,如下關系代數表達式中正確的有 。
A : B : C : D : E : 15、 對于關系模式 S(Sno, Sname, Age, Dept);C(Cno, CName, Teacher);SC(Sno, Cno, Score)下列查詢結果相同的是( )。A : πSname ((S) σScore>60 (SC)) B : πSname (σScore>60 (S SC)) C : σScore>60(πSname(S SC)) D : σScore>60(πSname(S) (SC)) 16、 一個關系模式R{x1,x2,x3,x4},假定該關系存在著如下函數依賴:x1àx2,x1àx3,x3àx4 ,則該關系屬于( ):A : 1NF B : 2NF C : 3NF D : 4NF 四、判斷題:10分,每題01分17、 在系統配置上,服務程序通常安裝在服務器上,客戶程序通常放在PC機上。
( )18、 OQL中沒有明確的關系概念,它只是結構的集合(或者包)。而SQL3中的對象則把關系作為核心概念。
( )19、 可以用關鍵字“AS”給某個屬性命別名。( )20、 需求分析可以獨立于數據庫管理系統。
( )21、 對于關系數據庫系統,用戶既要提出“做什么”,也要指出“怎么做”。( )22、 利用分時的方法同時處理多個事務,成為事務的并發調度。
( )23、 當多個事務并發執行的結果與多個事務按任意次序串行執行的結果相同,就認為該并發操作是正確的。( )24、 函數依賴具有傳遞性。
25、 如果一個關系沒有一個屬性能由所有其它屬性函數決定,則該關系根本不存在非平凡的函數依賴。 26、 如果一個關系數據庫中的所有關系模式都滿足第三范式,那么在函數依賴范疇內,它已實現了模式的徹底分解,達到了最高的規范化程度,消除了更新異常和信息冗余。
五、填空選擇題:02分,每題02分27、 假設B1和B2是兩個包,x是在B1中出現n1次并在B2中出現n2次的對象。按包的運算規則,在B1-B2中,1) 如果n1 ≤ n2,則x出現( )次;2)如果n1 > n2,則x出現( )次。
選 項 1 : n1 n2 n1 n2 n2 n1 0 min(n1,n2) max(n1,n2) 選 項 2 : n1 n2 n1 n2 n2 n1 0 min(n1,n2) max(n1,n2) 六、簡答題:15分,每題05分28、 關系模式如下:商店 S(SNO,SN,CITY)銷售 SP(PNO,SNO,QTY)用域關系演算寫出。