婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle的四道經(jīng)典面試題分享

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

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

前言

本文整理了4道Oracle 經(jīng)典面試題,與大家分享學(xué)習(xí)。這也許是你一直期待的文章,下面話不多說了,來一起看看詳細(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ù)以上代碼生成的表寫出一條查詢語句,查詢結(jié)果如下:

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

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

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

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

再通過where 連接條件 三張表t_id相等的為同一個人或者說同一條記錄(行)
*/
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語句面試題,關(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é)果, 該如何寫sql語句?

   勝 負(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ù)計算次數(shù)
select rq "日期",
  count(decode(shengfu, '勝', 1)) "勝",
  count(decode(shengfu, '負(fù)', 1)) "負(fù)"
 from tmp
 group by rq
 order by rq;

--使用連表
--這道題本身就需要分組,不建議使用連表做
--以下使用的是SQL1999的連表方式,語法不一樣效果與第一題使用的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 ('張三', '語文', 78.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('張三', '數(shù)學(xué)', 88.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('張三', '英語', 98.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('李四', '語文', 89.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('李四', '數(shù)學(xué)', 76.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('李四', '英語', 90.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '語文', 99.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '數(shù)學(xué)', 66.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '英語', 91.0);

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

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

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

--使用連表

select t1.name 姓名, t1.score 語文, t2.score 數(shù)學(xué), t3.score 英語 from
(select name,score from STUDENT_SCORE where subject='語文') 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='英語') t3
on t1.name=t3.name;

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

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

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


table1

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

table2

部門dep  部門名稱dname
--------------------------------
  國內(nèi)業(yè)務(wù)一部
  國內(nèi)業(yè)務(wù)二部
  國內(nèi)業(yè)務(wù)三部
  國際業(yè)務(wù)部

table3 (result)

部門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,'國內(nèi)業(yè)務(wù)一部');
insert into yjdept(deptno,dname) values(02,'國內(nèi)業(yè)務(wù)二部');
insert into yjdept(deptno,dname) values(03,'國內(nèi)業(yè)務(wù)三部');
insert into yjdept(deptno,dname) values(04,'國際業(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表就能做出來了,所以這道題考察的應(yīng)該是連表的知識
/*這兩張表中有的月份有的部門業(yè)績是空的,而用前幾道題的做法,不匹配條件的值會被過濾掉,
例如month=一月份的只有1部門,形成的表里deptno只有1和二月份、三月份形成的表中的deptno無法匹配
而yjdept表中包含了所有部門編號deptno,這時就可以用到外連接的特性
(在滿足一張表的內(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é)

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle的四道經(jīng)典面試題分享》,本文關(guān)鍵詞  Oracle,的,四道,經(jīng)典,面,試題,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle的四道經(jīng)典面試題分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle的四道經(jīng)典面試題分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品久久久久一区 | 久久国产三级精品| 欧美日韩精品欧美日韩精品一综合| 亚洲女女做受ⅹxx高潮| 色欧美片视频在线观看| 亚洲一区在线看| 制服丝袜在线91| 久久99国产精品麻豆| 国产精品网站在线| 欧美在线观看视频一区二区| 五月综合激情婷婷六月色窝| 欧美成人高清电影在线| 国产凹凸在线观看一区二区| 一区二区三区精品视频在线| 91精品国产色综合久久不卡蜜臀| 国产综合色在线| 亚洲女与黑人做爰| 4438x成人网最大色成网站| 国产黄人亚洲片| 亚洲黄色免费电影| 精品久久人人做人人爰| 91色.com| 国内久久婷婷综合| 亚洲美女区一区| 久久亚洲欧美国产精品乐播 | 亚洲bt欧美bt精品| 久久精品免视看| 欧美视频在线一区二区三区 | 激情五月激情综合网| 亚洲欧美综合色| 91精品久久久久久久99蜜桃| av在线不卡电影| 久久99精品久久只有精品| 自拍av一区二区三区| 91精品欧美久久久久久动漫| 91啪亚洲精品| 国产精品99久久久久| 亚洲成a天堂v人片| 中文字幕在线一区免费| www国产成人免费观看视频 深夜成人网| 成人高清视频在线| 老司机精品视频在线| 亚洲图片欧美色图| 国产日韩成人精品| 日韩精品综合一本久道在线视频| 色网站国产精品| 国产福利91精品| 美女任你摸久久| 午夜a成v人精品| 亚洲影视资源网| 国产精品初高中害羞小美女文| 精品国产青草久久久久福利| 欧美色偷偷大香| 色婷婷综合久色| 成人免费精品视频| 国产一区二区三区四| 免费成人在线观看视频| 日韩国产精品久久久| 一区二区三区波多野结衣在线观看| 中文字幕 久热精品 视频在线| 欧美成人一区二区三区片免费| 欧美高清dvd| 欧美美女bb生活片| 欧美年轻男男videosbes| 91福利社在线观看| 色狠狠桃花综合| 色综合久久综合网97色综合| 99re这里只有精品视频首页| 不卡的电视剧免费网站有什么| 国产伦精品一区二区三区免费迷 | 欧美私模裸体表演在线观看| 色视频欧美一区二区三区| 91免费在线播放| 色琪琪一区二区三区亚洲区| 91蜜桃在线观看| 色一情一伦一子一伦一区| 色综合久久综合网| 欧美午夜精品久久久久久超碰| 欧美三级日本三级少妇99| 欧美精品在欧美一区二区少妇| 欧美日韩高清不卡| 日韩欧美一级二级三级| 精品国产免费视频| 国产视频亚洲色图| 综合久久国产九一剧情麻豆| 一区二区三区91| 五月婷婷色综合| 久久电影网站中文字幕| 国产精品 欧美精品| 99精品久久久久久| 欧美三级视频在线| 精品国产三级电影在线观看| 久久综合精品国产一区二区三区| 国产精品午夜春色av| 一区二区三区四区不卡在线| 日日夜夜免费精品| 国产一区二区三区av电影| fc2成人免费人成在线观看播放| 一本在线高清不卡dvd| 欧美精三区欧美精三区| 久久九九99视频| 亚洲另类春色校园小说| 日韩国产欧美在线视频| 国产成人小视频| 欧美伊人久久久久久久久影院| 日韩免费一区二区| 日本一区二区高清| 亚洲国产成人精品视频| 国产乱淫av一区二区三区| 91美女片黄在线| 日韩三级精品电影久久久 | 麻豆91精品视频| 成人99免费视频| 欧美日韩精品三区| 国产精品美女久久久久aⅴ国产馆| 亚洲高清免费在线| 国产激情精品久久久第一区二区 | 欧美性猛交xxxxxx富婆| 精品动漫一区二区三区在线观看| 亚洲欧美激情在线| 国产一区二区三区在线观看免费视频 | aaa欧美色吧激情视频| 正在播放亚洲一区| 亚洲理论在线观看| 国产成人午夜电影网| 欧美一级二级在线观看| 亚洲乱码中文字幕| 国产一区二区三区综合| 欧美乱妇一区二区三区不卡视频| 中文字幕第一区二区| 麻豆久久久久久久| 欧美色偷偷大香| 亚洲欧美激情插| 成人激情午夜影院| 精品久久久久久综合日本欧美 | 九九精品一区二区| 欧美日韩精品高清| 一区二区在线观看免费| 成人av在线资源网站| 精品国产伦一区二区三区观看方式 | 亚洲一二三四在线| a在线欧美一区| 欧美国产日韩在线观看| 麻豆精品视频在线观看免费| 555www色欧美视频| 亚洲第一福利一区| 欧美午夜电影网| 一区二区三区美女| 色av综合在线| 亚洲欧美日韩在线播放| eeuss鲁片一区二区三区在线观看| 久久日韩精品一区二区五区| 老司机免费视频一区二区三区| 欧美蜜桃一区二区三区| 性做久久久久久免费观看| 色婷婷综合久久| 中文字幕一区二区三区不卡在线| 大尺度一区二区| 国产精品女主播av| 成人高清在线视频| 中文字幕在线一区免费| 91日韩在线专区| 亚洲影院免费观看| 欧美日韩国产首页在线观看| 午夜精品成人在线| 日韩一区二区不卡| 国产一级精品在线| 欧美国产日韩在线观看| 91一区二区在线观看| 一二三四区精品视频| 欧美日韩电影在线播放| 男人的天堂亚洲一区| 精品国产乱码久久久久久老虎| 韩国女主播成人在线| 国产三级久久久| 91在线视频免费91| 亚洲成人av免费| 精品久久人人做人人爰| 成人黄色片在线观看| 亚洲色图.com| 欧美一区二区日韩| 国产精品中文字幕欧美| 亚洲色图欧美在线| 欧美另类videos死尸| 国产高清不卡二三区| 亚洲欧美日韩久久| 日韩欧美国产小视频| 成人免费三级在线| 亚洲va国产天堂va久久en| 精品国产123| 色狠狠一区二区三区香蕉| 男人的j进女人的j一区| 国产精品久久久久久亚洲毛片| 在线一区二区三区| 蜜桃免费网站一区二区三区| 中文字幕的久久| 欧美一级高清片| 91小视频在线观看| 激情五月播播久久久精品| 亚洲精品高清视频在线观看|