導航:首頁 > 面試求職 > oracle面試題300題

oracle面試題300題

發布時間:2021-01-18 12:07:17

㈠ oracle資料庫面試題,如下,求解!

1
proct主鍵id
顧客表主鍵acid
商品交易表為聯合主鍵(acid+id),同時acid和id分別是顧客表和商品表的外鍵

2
selectb.acname,b.acadress
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
anda.name='李子'

3
selectt1.acname
from
(selectb.acname
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
anda.name='李子')t1,
(selectb.acname
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
anda.name='蘋果')t2
wheret1.acname=t2.acname4
selectb.acname,
sum(casewhentype='家電'thena.price*c.amountelse0end)as家電價格,
sum(casewhentype='水果'thena.price*c.amountelse0end)as水果價格
fromprocta,customerb,ordercwherea.id=c.idandb.acid=c.acid
groupbyb.acname

㈡ 某銀行的Oracle面試題,請教大神。

不對復.
第一句SQL,作為主表的 f 和作為從製表的 g ,他們的關聯關系是 f.orderid = g.rferenceid,而從表中又使用了 paymentype = '1'

而如果要改成第二句的形式的話,需要這樣(只需改樓主提供的SQL的最後兩個關聯條件):
and g.paymentype(+) = '1'
and a.orderid = g.rferenceid(+)

㈢ 面試題:oracle資料庫優化

oracle資料庫優化的話主要有以下幾個方面(我接觸過的,可能不全面):回
1 查詢語句的答優化,這個主要是根據語句和資料庫索引的情況,結合查詢計劃的分析結果,對性能較低的查詢語句進行重寫,在執行查詢前執行表分析語句也可以算這里;
2 數據結構優化,這個包括根據實際的應用中業務邏輯,對資料庫的結構進行重新設計,或者創建相關索引里提高查詢效率;
3 資料庫設置優化,這方面主要是調整資料庫和數據結構的相關參數提高應用訪問系統的效率;
4 存儲結構優化,在數據量較大的情況下,可以考慮通過資料庫的存儲結構進行優化,比如對數據進行partition,將數據存儲在磁碟陣列伺服器上等。
我的經驗有限,以上是部分建議

㈣ oracle sql面試題求助

--把這兩個表id查出來來組成一個記錄源集select
id
from
emp1
union
all
select
id
from
sext
------------------id1234145--上面的記錄集取別名為t
根據這個t
的id等於emp1的id的條件查出t中記錄數小於2的emp1記錄select
*
from
emp1
e
where
(select
count(*)from
(select
id
from
emp1
union
all
select
id
from
sext)
twhere
t.id
=
e.id)
<
2---------------------------id
name2
b3
c
希望對你能有所幫助。

㈤ oracle面試題

create table scores (id integer,score integer);
1.隨機生成100個人的成績
begin
for i in 1 .. 100 loop
insert into scores select trunc(dbms_random.value(0,100),0),trunc(dbms_random.value(0,100),0) from al;
end loop;
end;
/
2.統計出100-86為優秀、85到60為及格版,權59-0為不及格的人數
select
(select count(*) from scores where score between 86 and 100) "youxiu",
(select count(*) from scores where score between 60 and 85) "jige",
(select count(*) from scores where score between 0 and 59) "bujige"
from al;

㈥ oracle面試題:在一個上億條數據的表中,批量插入大量數據,並根據內容重新定義索引,怎麼做最有效率

為大表添加新的分區,向新分區中導入數據,然後創建本地分區索引。如果大表本版身有分區索引,先權讓索引在新的分區上失效,imp命令中添加skip_unusable_indexes=y參數,數據導入後再rebuild分區索引即可。

㈦ oracle面試題

3.select ename,(select ename from emp where empno in(a.mgr)) from emp a ;
整個查詢分為子查詢和父查詢,(select ename from emp where empno in(a.mgr))為子查詢,emp a指的是員工表,a為這個查詢為emp表指定的別名,知道了a
代表什麼,a.mgr就好理解了,a.mgr其實就是emp.mgr,表示emp員工表中的mgr(上級編號)欄位,emp表中記錄了員工及員工上級的信息,a.mgr就用來指明員工
的上級的編號,然後輸出員工姓名及他上級姓名。
6.雖然dname和ename在不同的兩張表中,但是通過語句where deptno in(a.deptno)將兩張表的信息關聯上了,這樣就能得到員工姓名及該員工所在的部門名稱。
14.a.deptno,b.deptno分別代表部門表中的部門編號欄位和員工表中的部門編號欄位,它們的作用是將獨立的部門表和員工表中的信息關聯起來,令兩個表的信息
一一對應起來,emp b用來輸出ename,sal欄位,b為emp表在查詢中的別名,可以任意命名,因為a這個名稱已經賦予給dept這個表,若再將a賦予emp表,則會造成
資料庫無法識別a代表的是dept表還是emp表,所以此處命名為b而不是a。
16.group by有分類作用,此處表示,安裝job的類型將查詢結果分為幾類,每一類工作中包含很多不同的工資,然後用min函數從裡面選出最小的工資,當需要對
查詢結果進行聚合時,便可使用group by語句,其後緊跟聚合函數外的所有欄位,比如此處的job欄位。

㈧ Oracle 存儲過程面試題

根據你現有的內容,做個完全同步的
merge into frp.t17_organ d
using frp.t40_organ s
on (s.organno=d.organno)
when matched then update set d.organname=s.organname,.....
when not matched then insert values (s.organno.........)

完整題目可以專發我屬私信

㈨ oracle sql 語句 面試題

(1)統計有學生選修的課程門數
select count(distinct c#) from SC

2)求選修C4課程的女學生的平均年齡
select avg(s.age) --最好都帶上前綴,養成好習慣
from s,c,sc where s.s#=sc.s# and c.c#=sc.c#
and c.cname='C4' and s.sex='女'--字元類型帶引號,必須注意大小寫,你那麼寫好麻煩

3)求劉老師所授的課程的每門課程的平均成績
select c.cname , avg(grade) from sc , c
where c.teacher =' liu' and sc.c# = c.c#
group by c.cname --select後是什麼欄位,這地方你也得最少有這個欄位

(4)統計每門課程的學生選修人數(超過10人的課程才統計)。要求顯示課程號和人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列。

select t.*
from
(select sc.c#, count(s#) counnt_s from s,sc where s.s# = sc.s# group by sc.c# having count(s#) >10) t
order by counnt_s desc,c# asc --你排序不對,另外oracle不可根據別名排序,只可再做嵌套

5)檢索學號比王軍同學大,而年齡比他小的學生姓名
select a.s#
from
(select s# from s where s#>(select s# from s where sname='王軍') a,
select s# from s where age>(select age from s where sname='王軍') b
where a.s#=b.s#

6)求年齡大於女同學平均年齡的男學生的姓名和年齡

select sname,age from s
where age>
(select avg(age) from s where sex = 'nv') and sex = 'nan' --沒問題

7)求年齡大於所有女同學年齡的男學生的姓名和年齡
select sname ,age from s
where age>(select max(age) from s where sex = 'nv') and sex = 'nan' --沒問題

㈩ java,oracle面試題,如下,sql怎麼寫

如題我先進行分析:

  1. 第一句話中按月找出平均 填寫時間大於3天的人員信息 :

    那麼可用理解為 根據月份查找 員工平均延遲填寫日期大於3天的 人員信息。

  2. 第二句話一個人員的日誌填寫日期有多條則取最早的一條,如果有一天未填寫,則取系統當前時間,不含小時。

    以上這句話需要注意兩點 第一點,取最早的一條此處需要用到ROW_NUMBER() OVER() 以及未填寫 則取系統當前時間 不含小時 那麼取值格式應為yyyy-mm-dd此處需要處理格式。

根據以上分析提供如下SQL: 註:(以下SQL已ORACLE為例)

--創建臨時表存儲數據
withemp_logas(
select1asempno,'張一'asempname,'工作內容1'asworkcontent,date'2017-03-20'asbegdate,date'2017-03-23'asentrydate,1asnumfromal
unionall
select1asempno,'張一'asempname,'工作內容2'asworkcontent,date'2017-03-20'asbegdate,date'2017-03-23'asentrydate,2asnumfromal
unionall
select1asempno,'張一'asempname,'工作內容3'asworkcontent,date'2017-03-20'asbegdate,date'2017-03-24'asentrydate,5asnumfromal
unionall
select1asempno,'張一'asempname,'工作內容1'asworkcontent,date'2017-03-24'asbegdate,date'2017-03-30'asentrydate,8asnumfromal
unionall
select2asempno,'張二'asempname,'工作內容21'asworkcontent,date'2017-03-20'asbegdate,date'2017-03-30'asentrydate,8asnumfromal
unionall
select2asempno,'張二'asempname,'工作內容22'asworkcontent,date'2017-03-25'asbegdate,date'2017-03-28'asentrydate,8asnumfromal
unionall
select3asempno,'張三'asempname,'工作內容31'asworkcontent,date'2017-03-20'asbegdate,nullasentrydate,nullasnumfromal
unionall
select3asempno,'張三'asempname,'工作內容32'asworkcontent,date'2017-03-20'asbegdate,nullasentrydate,nullasnumfromal
unionall
select4asempno,'張四'asempname,'工作內容42'asworkcontent,date'2017-03-25'asbegdate,date'2017-03-28'asentrydate,8asnumfromal
)
select*from(
selectempno,empname,sum(num)num,sum(yanci)/count(empno)pingjunyanci--獲取人員當月總延遲數除去當月人員每日的打開數計算出當月每天的平均延遲天數
from(selectROW_NUMBER()OVER(PARTITIONBYe.empno,e.begdateORDERBYe.empno,e.begdate)ASRN,--排序獲取當天有多條記錄並在後面條件中獲取第一條
e.empno,e.empname,
e.workcontent,e.begdate,
e.entrydate,
e.num,
(nvl(e.entrydate,to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd'))-begdate)asyanci--判斷如果沒有填寫結束日期那麼以系統當前日期進行運算延遲日期
fromemp_loge)e1
wheree1.rn=1--獲取第一條
andto_char(begdate,'yyyy-mm')='2017-03'--可用的月份條件
groupbyempno,empname,numorderbyempno--根據人員工號、人員姓名分組匯總
)e2wheree2.pingjunyanci>3;

--分析不易忘認真閱讀後採納,有其他問題請追問我。
閱讀全文

與oracle面試題300題相關的資料

熱點內容
晉升考核自我評價 瀏覽:480
職場新人自我介紹日語 瀏覽:700
職攜求職公寓 瀏覽:354
醉駕人找工作 瀏覽:973
百度廈門六中藝術特長報名表 瀏覽:868
勁霸經編面試 瀏覽:364
小孩綜合素質自我評價 瀏覽:470
玉環學校洗碗招聘信息 瀏覽:15
教師教育自我評價 瀏覽:192
2014合肥168中學特長生音樂錄取名單 瀏覽:478
應屆生面試自我介紹範文3分鍾 瀏覽:800
丹陽人才招聘網 瀏覽:72
生物學科特長怎麼寫 瀏覽:250
昌碩面試後多久通知 瀏覽:925
陝西省鐵餅特長生 瀏覽:751
碩展科技有限公司招聘 瀏覽:346
2019年南陽卷煙廠招聘信息 瀏覽:461
時尚招聘信息 瀏覽:341
安吉潔美電子招聘信息 瀏覽:106
個人簡歷問候語 瀏覽:924