校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Oracle的四道經(jīng)典面試題分享

Oracle的四道經(jīng)典面試題分享

熱門(mén)標(biāo)簽:400電話是不是免費(fèi)申請(qǐng) 呼倫貝爾智能手機(jī)地圖標(biāo)注 分布式呼叫中心 貴陽(yáng)電話外呼系統(tǒng)哪家好 安陽(yáng)外呼系統(tǒng)免費(fèi) 海南400電話哪里辦理 圖像地圖標(biāo)注 濟(jì)南地圖標(biāo)注公司 南寧人工智能電銷(xiāo)機(jī)器人費(fèi)用

前言

本文整理了4道Oracle 經(jīng)典面試題,與大家分享學(xué)習(xí)。這也許是你一直期待的文章,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

第一題

create table test(
 id number(10) primary key,
 type number(10) ,
 t_id number(10),
 value varchar2(6)
);

insert into test values(100,1,1,'張三');
insert into test values(200,2,1,'男');
insert into test values(300,3,1,'50');

insert into test values(101,1,2,'劉二');
insert into test values(201,2,2,'男');
insert into test values(301,3,2,'30');

insert into test values(102,1,3,'劉三');
insert into test values(202,2,3,'女');
insert into test values(302,3,3,'10');

select * from test;

代碼生成表格如:

根據(jù)以上代碼生成的表寫(xiě)出一條查詢語(yǔ)句,查詢結(jié)果如下:

姓名 性別 年齡
張三 50
劉二 30
劉三 10

/*
根據(jù)表格可以分析出type列中1代表姓名、2代表性別、3代表年齡,而t_id中id一樣的為同一個(gè)人的屬性
查詢結(jié)果中列依次為姓名、性別、年齡,而type列決定姓名、性別、年齡
*/

/*使用分組,先對(duì)t_id進(jìn)行分組,然后用decode函數(shù)過(guò)濾數(shù)據(jù),例:decode(type, 1, value) type=1就顯示為value
由于分組后select后面的列字段只能是分組的字段或者組函數(shù),所有使用max()。
同一個(gè)人的type沒(méi)有重復(fù)數(shù)值所以 decode(type, 1, value)返回的值只有一個(gè),最大值也就是這個(gè)值
*/
select max(decode(type, 1, value)) "姓名",
  max(decode(type, 2, value)) "性別",
  max(decode(type, 3, value)) "年齡"
 from test
 group by t_id;

/*使用連表,通過(guò)where過(guò)濾生成3張type分別等于1(姓名)、2(性別)、3(年齡)的3張?zhí)摂M表 如:

再通過(guò)where 連接條件 三張表t_id相等的為同一個(gè)人或者說(shuō)同一條記錄(行)
*/
select t1.value "姓名",t2.value "性別",t3.value "年齡" from 
(select value,t_id from test where type=1) t1,
(select value,t_id from test where type=2) t2,
(select value,t_id from test where type=3) t3
where t1.t_id=t2.t_id and t1.t_id=t3.t_id;

第二題

/*

2.一道SQL語(yǔ)句面試題,關(guān)于group by
表內(nèi)容:
2005-05-09 勝
2005-05-09 勝
2005-05-09 負(fù)
2005-05-09 負(fù)
2005-05-10 勝
2005-05-10 負(fù)
2005-05-10 負(fù)

如果要生成下列結(jié)果, 該如何寫(xiě)sql語(yǔ)句?

   勝 負(fù)
2005-05-09 2 2
2005-05-10 1 2
------------------------------------------
create table tmp(rq varchar2(10),shengfu varchar2(5));

insert into tmp values('2005-05-09','勝');
insert into tmp values('2005-05-09','勝');
insert into tmp values('2005-05-09','負(fù)');
insert into tmp values('2005-05-09','負(fù)');
insert into tmp values('2005-05-10','勝');
insert into tmp values('2005-05-10','負(fù)');
insert into tmp values('2005-05-10','負(fù)');

select * from tmp;
*/

--使用分組
--按日期分組,用conut函數(shù)計(jì)算次數(shù)
select rq "日期",
  count(decode(shengfu, '勝', 1)) "勝",
  count(decode(shengfu, '負(fù)', 1)) "負(fù)"
 from tmp
 group by rq
 order by rq;

--使用連表
--這道題本身就需要分組,不建議使用連表做
--以下使用的是SQL1999的連表方式,語(yǔ)法不一樣效果與第一題使用的SQL1992的一樣
select t1.rq,t1.勝, t2.負(fù) from
(select count(decode(shengfu, '勝', 1)) "勝", rq from tmp group by rq) t1
join
(select count(decode(shengfu, '負(fù)', 1)) "負(fù)", rq from tmp group by rq) t2
on t1.rq=t2.rq;

第三題

/*3.生成題目所需的表

create table STUDENT_SCORE
(
 name VARCHAR2(20),
 subject VARCHAR2(20),
 score NUMBER(4,1)
);
insert into student_score (NAME, SUBJECT, SCORE) values ('張三', '語(yǔ)文', 78.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('張三', '數(shù)學(xué)', 88.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('張三', '英語(yǔ)', 98.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('李四', '語(yǔ)文', 89.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('李四', '數(shù)學(xué)', 76.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('李四', '英語(yǔ)', 90.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '語(yǔ)文', 99.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '數(shù)學(xué)', 66.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '英語(yǔ)', 91.0);

3.1得到類(lèi)似下面的結(jié)果
姓名 語(yǔ)文 數(shù)學(xué) 英語(yǔ)
王五 89 56 89
李四 xx xx xx
select * from STUDENT_SCORE;

3.2有一張表,里面有3個(gè)字段:語(yǔ)文,數(shù)學(xué),英語(yǔ)。其中有3條記錄分別表示語(yǔ)文70分,數(shù)學(xué)80分,英語(yǔ)58分,
請(qǐng)用一條sql語(yǔ)句查詢出這三條記錄并按以下條件顯示出來(lái)(并寫(xiě)出您的思路): 
大于或等于80表示優(yōu)秀,大于或等于60表示及格,小于60分表示不及格。 
  顯示格式: 
  語(yǔ)文    數(shù)學(xué)    英語(yǔ) 
  及格    優(yōu)秀    不及格 
------------------------------------------
*/

--3.1
--使用分組
select name "姓名",
  max(decode(subject, '語(yǔ)文' ,score)) "語(yǔ)文",
  max(decode(subject, '數(shù)學(xué)' ,score)) "數(shù)學(xué)",
  max(decode(subject, '英語(yǔ)' ,score)) 英語(yǔ)
 from STUDENT_SCORE
 group by name;

--使用連表

select t1.name 姓名, t1.score 語(yǔ)文, t2.score 數(shù)學(xué), t3.score 英語(yǔ) from
(select name,score from STUDENT_SCORE where subject='語(yǔ)文') t1
join
(select name,score from STUDENT_SCORE where subject='數(shù)學(xué)') t2
on t1.name=t2.name
join
(select name,score from STUDENT_SCORE where subject='英語(yǔ)') t3
on t1.name=t3.name;

--3.2
--在3.1的基礎(chǔ)上使用 case when then esle end
select t.姓名,
(case when t.語(yǔ)文>=80 then '優(yōu)秀'
   when t.語(yǔ)文>=60 then '及格'
   else '不及格' end) 語(yǔ)文,
(case when t.數(shù)學(xué)>=80 then '優(yōu)秀'
   when t.數(shù)學(xué)>=60 then '及格'
   else '不及格' end) 數(shù)學(xué),
(case when t.英語(yǔ)>=80 then '優(yōu)秀'
   when t.英語(yǔ)>=60 then '及格'
   else '不及格' end) 英語(yǔ)
 from 
(select t1.name 姓名, t1.score 語(yǔ)文, t2.score 數(shù)學(xué), t3.score 英語(yǔ) from
(select name,score from STUDENT_SCORE where subject='語(yǔ)文') t1
join
(select name,score from STUDENT_SCORE where subject='數(shù)學(xué)') t2
on t1.name=t2.name
join
(select name,score from STUDENT_SCORE where subject='英語(yǔ)') t3
on t1.name=t3.name
) t;

第四題(這道題難度相對(duì)較高)

/*4.請(qǐng)用一個(gè)sql語(yǔ)句得出結(jié)果
從table1,table2中取出如table3所列格式數(shù)據(jù),注意提供的數(shù)據(jù)及結(jié)果不準(zhǔn)確,
只是作為一個(gè)格式向大家請(qǐng)教。


table1

月份mon 部門(mén)dep 業(yè)績(jī)yj
-------------------------------
一月份  01  10
一月份  02  10
一月份  03  5
二月份  02  8
二月份  04  9
三月份  03  8

table2

部門(mén)dep  部門(mén)名稱(chēng)dname
--------------------------------
  國(guó)內(nèi)業(yè)務(wù)一部
  國(guó)內(nèi)業(yè)務(wù)二部
  國(guó)內(nèi)業(yè)務(wù)三部
  國(guó)際業(yè)務(wù)部

table3 (result)

部門(mén)dep 一月份  二月份  三月份
--------------------------------------
  10  null  null
  10   8  null
  null  5  8
  null  null  9

------------------------------------------

create table yj01(
  month varchar2(10),
  deptno number(10),
  yj number(10)
)

insert into yj01(month,deptno,yj) values('一月份',01,10);
insert into yj01(month,deptno,yj) values('二月份',02,10);
insert into yj01(month,deptno,yj) values('二月份',03,5);
insert into yj01(month,deptno,yj) values('三月份',02,8);
insert into yj01(month,deptno,yj) values('三月份',04,9);
insert into yj01(month,deptno,yj) values('三月份',03,8);

create table yjdept(
  deptno number(10),
  dname varchar2(20)
)

insert into yjdept(deptno,dname) values(01,'國(guó)內(nèi)業(yè)務(wù)一部');
insert into yjdept(deptno,dname) values(02,'國(guó)內(nèi)業(yè)務(wù)二部');
insert into yjdept(deptno,dname) values(03,'國(guó)內(nèi)業(yè)務(wù)三部');
insert into yjdept(deptno,dname) values(04,'國(guó)際業(yè)務(wù)部');
*/
select * from yj01;
select * from yjdept;
--使用分組
select deptno,
max(decode(month,'一月份',yj)) 一月份, 
max(decode(month,'二月份',yj)) 二月份, 
max(decode(month,'三月份',yj)) 三月份 
from yj01 group by deptno
order by deptno;

--這道題給出了兩張表,而用分組做,使用yj01表就能做出來(lái)了,所以這道題考察的應(yīng)該是連表的知識(shí)
/*這兩張表中有的月份有的部門(mén)業(yè)績(jī)是空的,而用前幾道題的做法,不匹配條件的值會(huì)被過(guò)濾掉,
例如month=一月份的只有1部門(mén),形成的表里deptno只有1和二月份、三月份形成的表中的deptno無(wú)法匹配
而yjdept表中包含了所有部門(mén)編號(hào)deptno,這時(shí)就可以用到外連接的特性
(在滿足一張表的內(nèi)容都顯示的基礎(chǔ)上,連接另外一張表,如果連接匹配則正常顯示,連接不匹配,另外一張表補(bǔ)null)
*/
select t1.deptno, t1.yj 一月份, t2.yj 二月份, t3.yj 三月份
from
(select y2.deptno,y1.yj from
(select yj, deptno from yj01 where month='一月份') y1 right join yjdept y2 on y1.deptno=y2.deptno)t1
join
(select y2.deptno,y1.yj from
(select yj, deptno from yj01 where month='二月份') y1 right join yjdept y2 on y1.deptno=y2.deptno)t2
on t1.deptno=t2.deptno
join
(select y2.deptno,y1.yj from
(select yj, deptno from yj01 where month='三月份') y1 right join yjdept y2 on y1.deptno=y2.deptno)t3
on t1.deptno=t3.deptno
order by t1.deptno;

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • Oracle 查看表空間的大小及使用情況sql語(yǔ)句
  • Linux系統(tǒng)(X64)安裝Oracle11g完整安裝圖文教程另附基本操作
  • Oracle數(shù)據(jù)庫(kù)下載及安裝圖文操作步驟
  • Oracle存儲(chǔ)過(guò)程基本語(yǔ)法介紹
  • ORACLE 10g 安裝教程[圖文]
  • ORACLE 如何查詢被鎖定表及如何解鎖釋放session
  • oracle 創(chuàng)建表空間詳細(xì)介紹
  • oracle數(shù)據(jù)庫(kù)tns配置方法詳解
  • oracle中to_date詳細(xì)用法示例(oracle日期格式轉(zhuǎn)換)
  • oracle常用sql語(yǔ)句

標(biāo)簽:合肥 滁州 郴州 許昌 遼源 南充 焦作 涼山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle的四道經(jīng)典面試題分享》,本文關(guān)鍵詞  Oracle,的,四道,經(jīng)典,面,試題,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle的四道經(jīng)典面試題分享》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Oracle的四道經(jīng)典面試題分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美一区二区在线免费观看| 亚洲精品一卡二卡| 91国产成人在线| 丁香婷婷综合五月| 国产一区二区三区久久悠悠色av| 日韩高清电影一区| 天天综合色天天| 首页国产丝袜综合| 青青草97国产精品免费观看| 三级不卡在线观看| 麻豆久久久久久久| 国产麻豆一精品一av一免费| 国产成人av电影在线观看| 国产成人精品一区二区三区网站观看 | 久久久久久久久久久黄色 | 久久99国产精品尤物| 青青草视频一区| 日本伊人色综合网| 极品少妇xxxx精品少妇| 国产一区二区三区免费| 国产一区二区免费看| 丰满岳乱妇一区二区三区| 不卡一区二区在线| 欧美在线观看一区二区| 6080亚洲精品一区二区| 欧美精品一区二区三区很污很色的| 欧美精品一区二区三区视频| 欧美国产国产综合| 亚洲天堂精品在线观看| 肉丝袜脚交视频一区二区| 国产最新精品免费| 色综合中文综合网| 欧美激情自拍偷拍| 亚洲人被黑人高潮完整版| 亚洲国产日韩av| 精品一区二区在线观看| proumb性欧美在线观看| 欧美日韩一区二区在线观看| 2欧美一区二区三区在线观看视频| 中文字幕巨乱亚洲| 亚欧色一区w666天堂| 狠狠色狠狠色综合日日91app| 成年人午夜久久久| 欧美一区二区三区男人的天堂| 国产欧美精品一区二区色综合朱莉 | 色老头久久综合| 日韩丝袜情趣美女图片| √…a在线天堂一区| 日韩激情av在线| av在线免费不卡| 欧美不卡一二三| 一区二区三区精品在线观看| 另类小说视频一区二区| 日本精品视频一区二区| 久久在线观看免费| 三级欧美韩日大片在线看| 色综合中文字幕国产| 久久青草国产手机看片福利盒子| 亚洲国产综合在线| 99久久婷婷国产综合精品| 日韩免费高清av| 亚洲成a人v欧美综合天堂下载 | 欧美国产1区2区| 日本欧洲一区二区| 日本道精品一区二区三区| 国产亚洲精品7777| 奇米在线7777在线精品 | 欧美精品九九99久久| 亚洲丝袜另类动漫二区| 成人精品免费视频| 国产日韩欧美激情| 国产精华液一区二区三区| 26uuuu精品一区二区| 奇米影视在线99精品| 日韩欧美的一区二区| 日本中文在线一区| 欧美一区二区三区四区高清 | 国产米奇在线777精品观看| 91麻豆精品国产91久久久久| 性久久久久久久| 欧洲av一区二区嗯嗯嗯啊| 一区二区三区四区不卡在线| 色哟哟日韩精品| 亚洲美女区一区| 91精彩视频在线| 婷婷一区二区三区| 日韩一卡二卡三卡四卡| 轻轻草成人在线| 久久午夜色播影院免费高清| 国产精品自在欧美一区| 亚洲国产成人一区二区三区| aaa亚洲精品一二三区| 日韩理论电影院| 欧美日韩美少妇| 免费在线一区观看| 精品国产乱码久久久久久闺蜜 | 亚洲日本一区二区| 精品一区二区三区av| 日韩精品一区二区三区蜜臀| 免费看日韩a级影片| 久久久www成人免费毛片麻豆 | 在线观看一区不卡| 亚洲精品国产精品乱码不99| 欧美人牲a欧美精品| 久久爱www久久做| 中文字幕永久在线不卡| 欧美性高清videossexo| 免费av网站大全久久| 国产人成一区二区三区影院| 在线中文字幕不卡| 另类综合日韩欧美亚洲| 中文字幕欧美一| 3atv一区二区三区| 成人在线一区二区三区| 午夜精品久久久| 国产精品久久久一本精品 | 色八戒一区二区三区| 蜜臀久久久99精品久久久久久| 中文天堂在线一区| 欧美人与禽zozo性伦| 国产精品一区二区三区乱码 | 久久99精品久久久久久国产越南| 国产精品久久久久桃色tv| 91麻豆精品国产91久久久久久久久| 成人开心网精品视频| 精品一区二区三区免费| 亚洲一区成人在线| 国产精品视频一二三| 日韩精品一区二区三区在线 | 国产精品第五页| 日韩精品一区二区三区老鸭窝| 99精品视频在线观看| 国产一区二区不卡| 日韩国产在线观看一区| 亚洲乱码精品一二三四区日韩在线| 欧美电影免费观看高清完整版 | 日韩区在线观看| 日本精品一区二区三区四区的功能| 国产精品夜夜嗨| 久久精品国产秦先生| 亚洲sss视频在线视频| 中文字幕亚洲精品在线观看| 国产色产综合产在线视频| 欧美一级国产精品| 欧美日韩卡一卡二| 欧美性大战久久久久久久蜜臀| 成人高清视频在线观看| 国产成人精品一区二区三区四区 | 欧美性视频一区二区三区| 99在线精品免费| gogo大胆日本视频一区| 丁香婷婷综合色啪| 国产另类ts人妖一区二区| 国产综合成人久久大片91| 轻轻草成人在线| 激情综合色播激情啊| 极品美女销魂一区二区三区| 激情亚洲综合在线| 久99久精品视频免费观看| 九九精品视频在线看| 精品一区二区三区在线观看| 久久精品999| 国产剧情一区二区| 成人免费高清视频在线观看| 国产成人av一区二区三区在线观看| 国产盗摄精品一区二区三区在线| 国产一区二区h| 成人av电影在线播放| 一本大道av一区二区在线播放| 91精品91久久久中77777| 欧美日韩免费一区二区三区视频| 欧美猛男男办公室激情| 日韩欧美123| 国产精品视频在线看| 亚洲精品欧美激情| 日韩精品午夜视频| 国产一区美女在线| 91小视频免费观看| 7777精品伊人久久久大香线蕉超级流畅| 欧美久久久久久久久中文字幕| 日韩一二在线观看| 国产精品免费aⅴ片在线观看| 日韩伦理电影网| 喷水一区二区三区| 成人97人人超碰人人99| 91电影在线观看| 久久一夜天堂av一区二区三区| 中文一区二区完整视频在线观看| 亚洲一区二区视频| 国产麻豆成人传媒免费观看| 91蜜桃免费观看视频| 欧美成人一区二区三区片免费 | 日韩精品一级中文字幕精品视频免费观看 | 国产成人免费9x9x人网站视频| 色综合久久久久| 欧美精品一区男女天堂| 亚洲人成亚洲人成在线观看图片 | www欧美成人18+| 亚洲国产综合在线| 成人午夜激情片|