<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • oracle(甲骨文)大量筆試題

    時(shí)間:2023-02-10 22:17:47 筆試題目 我要投稿
    • 相關(guān)推薦

    oracle(甲骨文)大量筆試題

    1、表:table1(FId,Fclass,Fscore),用最高效最簡(jiǎn)單的SQL列出各班成績(jī)最高的列表,顯示班級(jí),成績(jī)兩個(gè)字段。

    oracle(甲骨文)大量筆試題

    select fclass,max(fscore) from table1 group by fclass,fid

    2、有一個(gè)表table1有兩個(gè)字段FID,F(xiàn)no,字都非空,寫一個(gè)SQL語(yǔ)句列出該表中一個(gè)FID對(duì)應(yīng)多個(gè)不同的Fno的紀(jì)錄。
    類如:
    101a1001
    101a1001
    102a1002
    102a1003
    103a1004
    104a1005
    104a1006
    105a1007
    105a1007
    105a1007
    結(jié)果:
    102a1002
    102a1003
    104a1005
    104a1006

    select t2.* from table1 t1, table1 t2 where t1.fid = t2.fid and t1.fno <> t2.fno;

    3、有員工表empinfo
    (
    Fempno varchar2(10) not null pk,
    Fempname varchar2(20) not null,
    Fage number not null,
    Fsalary number not null
    );
    假如數(shù)據(jù)量很大約1000萬(wàn)條;寫一個(gè)你認(rèn)為最高效的SQL,用一個(gè)SQL計(jì)算以下四種人:
    fsalary>9999 and fage > 35
    fsalary>9999 and fage < 35
    fsalary <9999 and fage > 35
    fsalary <9999 and fage < 35
    每種員工的數(shù)量;
    select sum(case when fsalary > 9999 and fage > 35
    then 1
    else 0end) as "fsalary>9999_fage>35",
    sum(case when fsalary > 9999 and fage < 35
    then 1
    else 0
    end) as "fsalary>9999_fage<35",
    sum(case when fsalary < 9999 and fage > 35
    then 1
    else 0
    end) as "fsalary<9999_fage>35",
    sum(case when fsalary < 9999 and fage < 35
    then 1
    else 0
    end) as "fsalary<9999_fage<35"
    from empinfo;
    4、表A字段如下
    month person income
    月份 人員 收入
    要求用一個(gè)SQL語(yǔ)句(注意是一個(gè))的處所有人(不區(qū)分人員)每個(gè)月及上月和下月的總收入
    要求列表輸出為
    月份 當(dāng)月收入 上月收入 下月收入
    MONTHS PERSON INCOME
    ---------- ---------- ----------200807 mantisXF 5000200806 mantisXF2 3500200806 mantisXF3 3000200805 mantisXF1 2000200805 mantisXF6 2200200804 mantisXF7 1800200803 8mantisXF 4000200802 9mantisXF 4200200802 10mantisXF 3300200801 11mantisXF 4600200809 11mantisXF 6800
    11 rows selected
    select months, max(incomes), max(prev_months), max(next_months)
    from (select months,
    incomes,
    decode(lag(months) over(order by months),
    to_char(add_months(to_date(months, 'yyyymm'), -1), 'yyyymm'), lag(incomes) over(order by months), 0) as prev_months, decode(lead(months) over(order by months), to_char(add_months(to_date(months, 'yyyymm'), 1), 'yyyymm'), lead(incomes) over(order by months), 0) as next_months from (select months, sum(income) as incomes from a group by months) aa) aaagroup by months;

    MONTHS MAX(INCOMES) MAX(PREV_MONTHS) MAX(NEXT_MONTHS)---------- ------------ ---------------- ----------------200801 4600 0 7500200802 7500 4600 4000200803 4000 7500 1800200804 1800 4000 4200200805 4200 1800 6500200806 6500 4200 5000200807 5000 6500 0200809 6800 0 0

    5,表B
    C1 c2
    2005-01-01 1
    2005-01-01 3
    2005-01-02 5

    要求的處數(shù)據(jù)
    2005-01-01 4
    2005-01-02 5
    合計(jì) 9
    試用一個(gè)Sql語(yǔ)句完成。

    select nvl(to_char(t02,'yyyy-mm-dd'),'合計(jì)'),sum(t01)from test
    group by rollup(t02)

    6,數(shù)據(jù)庫(kù)1,2,3 范式的概念與理解。

    7,簡(jiǎn)述oracle行觸發(fā)器的變化表限制表的概念和使用限制,行觸發(fā)器里面對(duì)這兩個(gè)表有什么限制。

    8、oracle臨時(shí)表有幾種。
    臨時(shí)表和普通表的主要區(qū)別有哪些,使用臨時(shí)表的主要原因是什么?

    9,怎么實(shí)現(xiàn):使一個(gè)會(huì)話里面執(zhí)行的多個(gè)過(guò)程函數(shù)或觸發(fā)器里面都可以訪問的全局變量的效果,并且要實(shí)現(xiàn)會(huì)話間隔離?

    10,aa,bb表都有20個(gè)字段,且記錄數(shù)量都很大,aa,bb表的X字段(非空)上有索引,
    請(qǐng)用SQL列出aa表里面存在的X在bb表不存在的X的值,請(qǐng)寫出認(rèn)為最快的語(yǔ)句,并解譯原因。

    11,簡(jiǎn)述SGA主要組成結(jié)構(gòu)和用途?

    12什么是分區(qū)表?簡(jiǎn)述范圍分區(qū)和列表分區(qū)的區(qū)別,分區(qū)表的主要優(yōu)勢(shì)有哪些?

    13,背景:某數(shù)據(jù)運(yùn)行在archivelog,且用rman作過(guò)全備份和數(shù)據(jù)庫(kù)的冷備份,
    且所有的歸檔日志都有,現(xiàn)控制文件全部損壞,其他文件全部完好,請(qǐng)問該怎么恢復(fù)該數(shù)據(jù)庫(kù),說(shuō)一兩種方法。

    14,用rman寫一個(gè)備份語(yǔ)句:備份表空間TSB,level 為2的增量備份。

    15,有個(gè)表a(x number(20),y number(20))用最快速高效的SQL向該表插入從1開始的連續(xù)的1000萬(wàn)記錄。


    1、表:table1(FId,Fclass,Fscore),用最高效最簡(jiǎn)單的SQL列出各班成績(jī)最高的列表,顯示班級(jí),成績(jī)兩個(gè)字段。

    2、有一個(gè)表table1有兩個(gè)字段FID,F(xiàn)no,字都非空,寫一個(gè)SQL語(yǔ)句列出該表中一個(gè)FID對(duì)應(yīng)多個(gè)不同的Fno的紀(jì)錄。
    類如:
    101 a1001
    101 a1001
    102 a1002
    102 a1003
    103 a1004
    104 a1005
    104 a1006
    105 a1007
    105 a1007
    105 a1007
    結(jié)果:
    102 a1002
    102 a1003
    104 a1005
    104 a1006

    3、有員工表empinfo
    (
    Fempno varchar2(10) not null pk,
    Fempname varchar2(20) not null,
    Fage number not null,
    Fsalary number not null
    );
    假如數(shù)據(jù)量很大約1000萬(wàn)條;寫一個(gè)你認(rèn)為最高效的SQL,用一個(gè)SQL計(jì)算以下四種人:
    fsalary>9999 and fage > 35
    fsalary>9999 and fage < 35
    fsalary<9999 and fage > 35
    fsalary<9999 and fage < 35
    每種員工的數(shù)量;

    4、表A字段如下
    month person income
    月份 人員 收入
    要求用一個(gè)SQL語(yǔ)句(注意是一個(gè))的處所有人(不區(qū)分人員)每個(gè)月及上月和下月的總收入
    要求列表輸出為

    月份 當(dāng)月收入 上月收入 下月收入

    5,表B
    C1 c2
    2005-01-01 1
    2005-01-01 3
    2005-01-02 5

    要求的處數(shù)據(jù)
    2005-01-01 4
    2005-01-02 5
    合計(jì) 9
    試用一個(gè)Sql語(yǔ)句完成。

    6,數(shù)據(jù)庫(kù)1,2,3 范式的概念與理解。

    7,簡(jiǎn)述oracle行觸發(fā)器的變化表限制表的概念和使用限制,行觸發(fā)器里面對(duì)這兩個(gè)表有什么限制。

    8、oracle臨時(shí)表有幾種。
    臨時(shí)表和普通表的主要區(qū)別有哪些,使用臨時(shí)表的主要原因是什么?

    9,怎么實(shí)現(xiàn):使一個(gè)會(huì)話里面執(zhí)行的多個(gè)過(guò)程函數(shù)或觸發(fā)器里面都可以訪問的全局變量的效果,并且要實(shí)現(xiàn)會(huì)話間隔離?

    10,aa,bb表都有20個(gè)字段,且記錄數(shù)量都很大,aa,bb表的X字段(非空)上有索引,
    請(qǐng)用SQL列出aa表里面存在的X在bb表不存在的X的值,請(qǐng)寫出認(rèn)為最快的語(yǔ)句,并解譯原因。

    11,簡(jiǎn)述SGA主要組成結(jié)構(gòu)和用途?

    12什么是分區(qū)表?簡(jiǎn)述范圍分區(qū)和列表分區(qū)的區(qū)別,分區(qū)表的主要優(yōu)勢(shì)有哪些?

    13,背景:某數(shù)據(jù)運(yùn)行在archivelog,且用rman作過(guò)全備份和數(shù)據(jù)庫(kù)的冷備份,
    且所有的歸檔日志都有,現(xiàn)控制文件全部損壞,其他文件全部完好,請(qǐng)問該怎么恢復(fù)該數(shù)據(jù)庫(kù),說(shuō)一兩種方法。

    14,用rman寫一個(gè)備份語(yǔ)句:備份表空間TSB,level 為2的增量備份。

    15,有個(gè)表a(x number(20),y number(20))用最快速高效的SQL向該表插入從1開始的連續(xù)的1000萬(wàn)記錄。

    答案:
    1、select Fclass,max(Fscore) from table1 group by Fclass
    2、select * from table1 where FID in (select FID from table1 group by FID having (count(Distinct Fno))>=2)
    3、select sum(case when fsalary>9999 and fage>35 then 1 else 0 end),
    sum(case when fsalary>9999 and fage<35 then 1 else 0 end),
    sum(case when fsalary<9999 and fage>35 then 1 else 0 end),
    sum(case when fsalary<9999 and fage<35 then 1 else 0 end) from empinfo
    4、
    Select (Select Month From Table Where Month = To_Char(Sysdate, 'mm')) 月份,
    (Select Sum(Income) From Table Where Month = To_Char(Sysdate, 'mm')) 當(dāng)月收入,
    (Select Sum(Income) From Table Where To_Number(Month) = To_Number(Extract(Month From Sysdate)) - 1) 上月收入,
    (Select Sum(Income) From Table Where To_Number(Month) = To_Number(Extract(Month From Sysdate)) 1) 下月收入
    From Dual

    5、select nvl(c1,'合計(jì)'),sum(c2) from B group by rollup(c1)
    6.
    關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)之時(shí)是要遵守一定的規(guī)則的。尤其是數(shù)據(jù)庫(kù)設(shè)計(jì)范式
    簡(jiǎn)單介紹1NF(第一范式),2NF(第二范式),3NF(第三范式),
    第一范式(1NF):在關(guān)系模式R中的每一個(gè)具體關(guān)系r中,如果每個(gè)屬性值 都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關(guān)系。
    例:如職工號(hào),姓名,電話號(hào)碼組成一個(gè)表(一個(gè)人可能有一個(gè)辦公室電話 和一個(gè)家里電話號(hào)碼) 規(guī)范成為1NF有三種方法:
      一是重復(fù)存儲(chǔ)職工號(hào)和姓名。這樣,關(guān)鍵字只能是電話號(hào)碼。
      二是職工號(hào)為關(guān)鍵字,電話號(hào)碼分為單位電話和住宅電話兩個(gè)屬性
      三是職工號(hào)為關(guān)鍵字,但強(qiáng)制每條記錄只能有一個(gè)電話號(hào)碼。
      以上三個(gè)方法,第一種方法最不可取,按實(shí)際情況選取后兩種情況。
     第二范式(2NF):如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性都完全依賴于任意一個(gè)候選關(guān)鍵字,則稱關(guān)系R 是屬于第二范式的。
      例:選課關(guān)系 SCI(SNO,CNO,GRADE,CREDIT)其中SNO為學(xué)號(hào), CNO為課程號(hào),GRADEGE 為成績(jī),CREDIT 為學(xué)分。 由以上
    條件,關(guān)鍵字為組合關(guān)鍵字(SNO,CNO)
      在應(yīng)用中使用以上關(guān)系模式有以下問題:
      a.數(shù)據(jù)冗余,假設(shè)同一門課由40個(gè)學(xué)生選修,學(xué)分就 重復(fù)40次。
      b.更新異常,若調(diào)整了某課程的學(xué)分,相應(yīng)的元組CREDIT值都要更新,有可能會(huì)出現(xiàn)同一門課學(xué)分不同。
      c.插入異常,如計(jì)劃開新課,由于沒人選修,沒有學(xué)號(hào)關(guān)鍵字,只能等有人選修才能把課程和學(xué)分存入。
      d.刪除異常,若學(xué)生已經(jīng)結(jié)業(yè),從當(dāng)前數(shù)據(jù)庫(kù)刪除選修記錄。某些門課程新生尚未選修,則此門課程及學(xué)分記錄無(wú)法保存。
      原因:非關(guān)鍵字屬性CREDIT僅函數(shù)依賴于CNO,也就是CREDIT部分依賴組合關(guān)鍵字(SNO,CNO)而不是完全依賴。
      解決方法:分成兩個(gè)關(guān)系模式 SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新關(guān)系包括兩個(gè)關(guān)系模式,它們之間通過(guò)SCN中
    的外關(guān)鍵字CNO相聯(lián)系,需要時(shí)再進(jìn)行自然聯(lián)接,恢復(fù)了原來(lái)的關(guān)系
     第三范式(3NF):如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性對(duì)任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系R是屬于第三范式的。
      例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各屬性分別代表學(xué)號(hào),
      姓名,所在系,系名稱,系地址。
      關(guān)鍵字SNO決定各個(gè)屬性。由于是單個(gè)關(guān)鍵字,沒有部分依賴的問題,肯定是2NF。但這關(guān)系肯定有大量的冗余,有關(guān)學(xué)生所在的幾個(gè)
    屬性DNO,DNAME,LOCATION將重復(fù)存儲(chǔ),插入,刪除和修改時(shí)也將產(chǎn)生類似以上例的情況。
      原因:關(guān)系中存在傳遞依賴造成的。即SNO -> DNO。 而DNO -> SNO卻不存在,DNO -> LOCATION, 因此關(guān)鍵遼 SNO 對(duì) LOCATIO
    N 函數(shù)決定是通過(guò)傳遞依賴 SNO -> LOCATION 實(shí)現(xiàn)的。也就是說(shuō),SNO不直接決定非主屬性LOCATION。
      解決目地:每個(gè)關(guān)系模式中不能留有傳遞依賴。
      解決方法:分為兩個(gè)關(guān)系 S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)
      注意:關(guān)系S中不能沒有外關(guān)鍵字DNO。否則兩個(gè)關(guān)系之間失去聯(lián)系。

    7.
    變化表mutating table
    被DML語(yǔ)句正在修改的表
    需要作為DELETE CASCADE參考完整性限制的結(jié)果進(jìn)行更新的表也是變化的

    限制:對(duì)于Session本身,不能讀取正在變化的表

    限制表constraining table
    需要對(duì)參考完整性限制執(zhí)行讀操作的表

    限制:如果限制列正在被改變,那么讀取或修改會(huì)觸發(fā)錯(cuò)誤,但是修改其它列是允許的。

    8.
    在Oracle中,可以創(chuàng)建以下兩種臨時(shí)表:
    a。會(huì)話特有的臨時(shí)表
    CREATE GLOBAL TEMPORARY ( )

    ON COMMIT PRESERVE ROWS;

    b。事務(wù)特有的臨時(shí)表
    CREATE GLOBAL TEMPORARY ( )
    ON COMMIT DELETE ROWS;
    CREATE GLOBAL TEMPORARY TABLE MyTempTable
    所建的臨時(shí)表雖然是存在的,但是你試一下insert 一條記錄然后用別的連接登上去select,記錄是空的,明白了吧。
    下面兩句話再貼一下:
    --ON COMMIT DELETE ROWS 說(shuō)明臨時(shí)表是事務(wù)指定,每次提交后ORACLE將截?cái)啾恚▌h除全部行)
    --ON COMMIT PRESERVE ROWS 說(shuō)明臨時(shí)表是會(huì)話指定,當(dāng)中斷會(huì)話時(shí)ORACLE將截?cái)啾怼?/p>

    9.--個(gè)人理解就是建立一個(gè)包,將常量或所謂的全局變量用包中的函數(shù)返回出來(lái)就可以了,摘抄一短網(wǎng)上的解決方法
    Oracle數(shù)據(jù)庫(kù)程序包中的變量,在本程序包中可以直接引用,但是在程序包之外,則不可以直接引用。對(duì)程序包變量的存取,可以為每個(gè)變量配套相應(yīng)的存儲(chǔ)過(guò)程<用于存儲(chǔ)數(shù)據(jù)>和函數(shù)<用于讀取數(shù)據(jù)>來(lái)實(shí)現(xiàn)。

    【oracle(甲骨文)大量筆試題】相關(guān)文章:

    甲骨文(oracle)技術(shù)筆試題07-13

    甲骨文(oracle)技術(shù)筆試題07-16

    oracle筆試題及答案08-16

    oracle 技術(shù)筆試題07-31

    oracle Management Trainee筆試題07-31

    oracle financials developer筆試題07-31

    Oracle的sql語(yǔ)句模擬試題及答案08-27

    Oracle Management Trainee英文筆試題07-31

    Oracle OCP認(rèn)證考試題庫(kù)05-18

    主站蜘蛛池模板: 国产vA免费精品高清在线观看| 四虎成人精品| 精品日韩在线视频一区二区三区| 日本一卡精品视频免费| 国内精品久久久久久久久| 99re6在线精品免费观看| 久久久久久亚洲精品不卡| 四虎影视884a精品国产四虎| 精品国产第一国产综合精品| 亚洲国产精品人人做人人爽| 99国内精品久久久久久久| 久久精品亚洲一区二区三区浴池| 久久精品免费大片国产大片| 91精品日韩人妻无码久久不卡| 国产精品美女久久久久| 亚洲第一永久AV网站久久精品男人的天堂AV| 秋霞午夜鲁丝片午夜精品久| 国产亚洲精品自在久久| 最新精品亚洲成a人在线观看| 国产精品玖玖美女张开腿让男人桶爽免费看| www.99精品| 国产精品高清一区二区三区| 亚洲一区爱区精品无码| 日韩精品无码久久一区二区三| 国产精品亚洲综合专区片高清久久久| 成人精品综合免费视频| 国精无码欧精品亚洲一区| 欧美精品videosse精子| 亚洲精品蜜桃久久久久久| 无码精品人妻一区| 久久精品一区二区三区中文字幕| 国产精品欧美久久久久无广告| 久久综合九色综合精品| 国内精品免费在线观看| 国产精品久久久久9999高清| 国产精品视频色拍拍| 久久精品一本到99热免费| 青草国产精品久久久久久| 欧美性videos高清精品| 久久久久人妻一区精品色| 人妻少妇精品视频一区二区三区 |