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

主頁 > 知識庫 > Oracle的四道經典面試題分享

Oracle的四道經典面試題分享

熱門標簽:400電話是不是免費申請 呼倫貝爾智能手機地圖標注 分布式呼叫中心 貴陽電話外呼系統哪家好 安陽外呼系統免費 海南400電話哪里辦理 圖像地圖標注 濟南地圖標注公司 南寧人工智能電銷機器人費用

前言

本文整理了4道Oracle 經典面試題,與大家分享學習。這也許是你一直期待的文章,下面話不多說了,來一起看看詳細的介紹吧

第一題

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;

代碼生成表格如:

根據以上代碼生成的表寫出一條查詢語句,查詢結果如下:

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

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

/*使用分組,先對t_id進行分組,然后用decode函數過濾數據,例:decode(type, 1, value) type=1就顯示為value
由于分組后select后面的列字段只能是分組的字段或者組函數,所有使用max()。
同一個人的type沒有重復數值所以 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張虛擬表 如:

再通過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語句面試題,關于group by
表內容:
2005-05-09 勝
2005-05-09 勝
2005-05-09 負
2005-05-09 負
2005-05-10 勝
2005-05-10 負
2005-05-10 負

如果要生成下列結果, 該如何寫sql語句?

   勝 負
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','負');
insert into tmp values('2005-05-09','負');
insert into tmp values('2005-05-10','勝');
insert into tmp values('2005-05-10','負');
insert into tmp values('2005-05-10','負');

select * from tmp;
*/

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

--使用連表
--這道題本身就需要分組,不建議使用連表做
--以下使用的是SQL1999的連表方式,語法不一樣效果與第一題使用的SQL1992的一樣
select t1.rq,t1.勝, t2.負 from
(select count(decode(shengfu, '勝', 1)) "勝", rq from tmp group by rq) t1
join
(select count(decode(shengfu, '負', 1)) "負", 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 ('張三', '數學', 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 ('李四', '數學', 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 ('王五', '數學', 66.0);
insert into student_score (NAME, SUBJECT, SCORE) values ('王五', '英語', 91.0);

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

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

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

--使用連表

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

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

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


table1

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

table2

部門dep  部門名稱dname
--------------------------------
  國內業務一部
  國內業務二部
  國內業務三部
  國際業務部

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

總結

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

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

標簽:合肥 滁州 郴州 許昌 遼源 南充 焦作 涼山

巨人網絡通訊聲明:本文標題《Oracle的四道經典面試題分享》,本文關鍵詞  Oracle,的,四道,經典,面,試題,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle的四道經典面試題分享》相關的同類信息!
  • 本頁收集關于Oracle的四道經典面試題分享的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩美女一区二区三区四区| 色诱视频网站一区| 亚洲女与黑人做爰| 综合中文字幕亚洲| 捆绑调教一区二区三区| 亚洲日本欧美天堂| 一本久道久久综合中文字幕 | 亚洲国产精品激情在线观看| 亚洲国产日韩av| 日本vs亚洲vs韩国一区三区二区| 99re热视频这里只精品| 在线不卡a资源高清| 欧美v日韩v国产v| 亚洲免费av在线| 欧美精品久久久久久久多人混战| 婷婷综合五月天| 国产99精品国产| 色综合av在线| 久久99热国产| 综合久久给合久久狠狠狠97色| 欧美性色黄大片| 国产午夜精品美女毛片视频| 免费高清在线视频一区·| 国产婷婷色一区二区三区| 99久久99久久久精品齐齐| 日韩国产欧美三级| 欧美色精品天天在线观看视频| 久久精品一区蜜桃臀影院| 97se亚洲国产综合自在线观| 亚洲国产精品自拍| 国产精品婷婷午夜在线观看| 久久激情五月婷婷| 国产精品热久久久久夜色精品三区| 欧美日韩卡一卡二| 亚洲综合免费观看高清在线观看| 99re这里都是精品| 麻豆成人91精品二区三区| 欧美一区二区三区电影| 一区二区三区美女| 在线观看免费一区| 亚洲综合久久久| 日韩欧美国产精品| 成人一区二区三区在线观看 | 国产日本亚洲高清| 激情成人午夜视频| 日韩欧美美女一区二区三区| 97久久精品人人做人人爽 | 91在线一区二区三区| 美女久久久精品| 一区二区三区电影在线播| 欧美国产精品v| 日韩三级.com| 精品一区二区三区蜜桃| www国产亚洲精品久久麻豆| 久草热8精品视频在线观看| 亚洲五码中文字幕| 亚洲精品福利视频网站| 3d成人h动漫网站入口| 蜜臀va亚洲va欧美va天堂| 亚洲综合色婷婷| 亚洲人123区| 国产精品卡一卡二卡三| 色婷婷久久99综合精品jk白丝| 国产一区二区精品久久91| 欧美韩日一区二区三区四区| 日韩欧美123| 91精品国产乱码久久蜜臀| 欧美日韩精品欧美日韩精品一 | 亚洲三级视频在线观看| 日韩欧美成人一区二区| 日韩女优av电影在线观看| 欧美一卡二卡在线| 欧美精品一二三| 欧美美女喷水视频| 欧美日韩国产影片| 欧美久久高跟鞋激| 欧美日韩高清一区二区不卡| 欧美日韩一区二区在线观看 | 国产欧美一区二区精品性色超碰| 精品国产一区二区三区久久久蜜月| av亚洲精华国产精华精| 亚洲小说春色综合另类电影| 一区二区中文字幕在线| 欧美大片在线观看一区| 日韩美女视频在线| 精品国产免费人成电影在线观看四季 | 成人免费视频一区二区| 国产成人在线看| 首页综合国产亚洲丝袜| 国产女同互慰高潮91漫画| 国产三区在线成人av| 欧美激情一区二区三区不卡 | 一区二区三区中文在线观看| 一区二区在线免费观看| 午夜亚洲福利老司机| 久久狠狠亚洲综合| 成人性视频免费网站| eeuss鲁片一区二区三区在线观看| 91麻豆产精品久久久久久| 狠狠色狠狠色综合系列| 丰满少妇久久久久久久 | 国产精品原创巨作av| 亚洲欧洲日韩女同| 一个色妞综合视频在线观看| 日韩av中文在线观看| 国产乱人伦精品一区二区在线观看| 成人晚上爱看视频| 91最新地址在线播放| 欧美一区在线视频| 欧美国产成人在线| 亚洲va韩国va欧美va| 久久久影院官网| 久久天天做天天爱综合色| 日本一区免费视频| 亚洲另类春色校园小说| 日韩av电影天堂| 成人性视频免费网站| 在线免费观看一区| 日韩精品在线网站| 一区二区三区四区不卡视频| 日韩不卡免费视频| 国产成人综合亚洲网站| 成人的网站免费观看| 日本在线观看不卡视频| 日韩制服丝袜先锋影音| 国产成人免费在线| 91久久香蕉国产日韩欧美9色| 成人免费观看av| 欧美色图片你懂的| 久久免费精品国产久精品久久久久| 日韩欧美一区在线| 亚洲女与黑人做爰| 国产很黄免费观看久久| 精品视频1区2区3区| 国产亚洲一区二区在线观看| 亚洲成av人片一区二区三区| www.成人网.com| 久久婷婷综合激情| 蜜臀av一区二区三区| 色素色在线综合| 国产欧美一区二区精品秋霞影院| 亚洲影视在线播放| 成人一级视频在线观看| 欧美三级电影一区| 欧美福利电影网| 国产精品成人在线观看| 精品在线视频一区| 欧美在线视频全部完| 国产精品传媒入口麻豆| 国产一区不卡精品| 欧美日本国产视频| 一区二区三区日韩欧美| 97久久超碰国产精品电影| 国产日韩精品一区二区三区在线| 麻豆国产精品视频| 在线综合亚洲欧美在线视频| 亚洲自拍偷拍网站| 91一区在线观看| 国产精品第五页| 成人黄色av电影| 久久久精品免费免费| 蜜臂av日日欢夜夜爽一区| 欧美探花视频资源| 一区二区三区日韩欧美| 91久久一区二区| 一区二区三区四区av| 欧美性生活久久| 亚洲va欧美va人人爽午夜| 欧美日韩免费高清一区色橹橹| 亚洲精品一二三四区| 色就色 综合激情| 一个色综合av| 欧美日韩中字一区| 一区二区三区在线视频免费观看| 一本色道久久加勒比精品| 国产欧美视频一区二区三区| 精品亚洲成a人在线观看| 91.xcao| 日韩av网站免费在线| 日韩免费观看高清完整版在线观看| 日韩成人av影视| 制服丝袜一区二区三区| 日韩一区在线播放| 成人听书哪个软件好| 国产精品你懂的在线欣赏| 国产美女视频一区| 亚洲国产成人午夜在线一区| 国产福利不卡视频| 国产精品美日韩| 99v久久综合狠狠综合久久| 中文字幕在线观看一区| 99精品视频免费在线观看| 国产精品黄色在线观看| 不卡一区二区中文字幕| 一区二区三区四区视频精品免费| 欧美综合久久久| 久久国产人妖系列| 国产精品天美传媒| 欧美日韩一区二区三区在线看 | 精品国内二区三区|