亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle中sql試題有哪些

發布時間:2021-11-11 10:17:56 來源:億速云 閱讀:151 作者:小新 欄目:關系型數據庫

這篇文章將為大家詳細講解有關oracle中sql試題有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

待驗證

1.創建一張學生信息表student_info,包含以下信息:學號、姓名、性別、生日、家庭住址、聯系電話;創建一張學生成績表student_score 包含學號、學科、成績。
CREATE TABLE student_info(
ID INT,
NAME VARCHAR2(10),
sex VARCHAR2(4),
brithday DATE,
address VARCHAR2(50),
phone INT);

CREATE TABLE student_score(
ID INT,
subject VARCHAR2(20),
score NUMBER(4,1));

2、根據題目中的兩張表,創建一張新表test,包含以下信息:學號,姓名,學科,成績
CREATE TABLE TEST AS SELECT a.id,a.name,b.subject,b.score FROM student_info a,student_score b;

3、將根據字符查詢轉換后結果,規則為:'A'轉換為'男','B'轉換為'女',其他字符轉換為‘未知’,試用一個SQL語句寫出。
INSERT INTO student_info VALUES (1100,'aaa','A',to_date('1990/3/3 12:12:12','yyyy/mm/dd hh34:mi:ss'),'asdg',333);

SELECT DECODE(sex,'A','男','B','女','其他') FROM student_info;
4、提取題目1表中,學生張三的各科成績,需要以下信息:學號、姓名、學科、成績,且按成績的降序排序。
SELECT a.id,a.name,b.subject,b.score FROM student_info a,student_score b WHERE a.id=b.id AND a.name='張三' ORDER BY b.score DESC;

5、題目1表中,按學生總成績由高到低排名,如果成績相同則排名一樣,輸出字段為:排名、學號、姓名、總成績。
SELECT dense_rank() OVER(ORDER BY sum(b.score) DESC) dense_rank,a.id,a.name,sum(b.score) total FROM student_info a,student_score b WHERE a.id=b.id GROUP BY a.name,a.id

①ROW_NUMBER:

Row_number函數返回一個唯一的值,當碰到相同數據時,排名按照記錄集中記錄的順序依次遞增。 

②DENSE_RANK:
Dense_rank函數返回一個唯一的值,除非當碰到相同數據時,此時所有相同數據的排名都是一樣的。 

③RANK:
Rank函數返回一個唯一的值,除非遇到相同的數據時,此時所有相同數據的排名是一樣的,同時會在最后一條相同記錄和下一條不同記錄的排名之間空出排名。
http://www.cnblogs.com/wuyisky/archive/2010/02/24/oracle_rank.html

6.題目1中,假設學科包含'語文','英語','數學','地理',請按以下格式輸出學生的成績
學號 姓名 語文 英語 數學 地理 總成績
xxx xxx 70 70 70 70 280

SELECT A.ID,
       A.NAME,
       SUM(DECODE(B.SUBJECT, '語文', SCORE, NULL)) AS 語文, --這里沒有單引號
       SUM(DECODE(B.SUBJECT, '數學', SCORE, NULL)) AS 數學,
       SUM(DECODE(B.SUBJECT, '英語', SCORE, NULL)) AS 英語,
       SUM(DECODE(B.SUBJECT, '地理', SCORE, NULL)) AS 地理,
       SUM(B.SCORE) TOTAL
  FROM STUDENT_INFO A, STUDENT_SCORE B
 WHERE A.ID = B.ID
 GROUP BY A.NAME, A.ID;

http://blog.163.com/magicc_love/blog/static/185853662201371481247696/

7、題目1表中,求出各個學科的平均成績,要求降序排序
SELECT b.subject,AVG(b.score) average FROM student_info a,student_score b WHERE a.id=b.id GROUP BY b.subject ORDER BY average DESC

8、下面兩端代碼有什么區別
select 
CUST.*
,POS.bus_desc
from dw_ods.s00_sema_scmcustp CUST
left join dw_pdm.t99_pos_code POS
on CUST.cust_pos_code=POS.pos_code
and CUST.dw_etl_date='2013-07-31'::date;

符合這兩個條件的數據會被匯總到起來

select 
CUST.*
,POS.bus_desc
from dw_ods.s00_sema_scmcustp CUST
left join dw_pdm.t99_pos_code POS
on CUST.cust_pos_code=POS.pos_code
where CUST.dw_etl_date='2013-07-31'::date;

符合上面條件的數據被匯總起來,從其中取出符合下面數據的

9、有一張表TEST,只有一個字段COL,一共有4條記錄,分別是a,b,c,d,對應四個球隊,現在四個球隊進行比賽,用一條sql語句顯示所有可能的比賽組合。
select a.col,b.col from TEST a ,TEST b where a.col<b.col;

10、有表dm_acrm.test01,數據結構為班級(class)、學號(id_number)、數學成績(math)、英語成績(English)
表內數據如下:
 
(備注:右下角打水印處被遮擋的是C02)
請匯總各班級的人數、數學平均成績、英語平均成績,并計算所有學生的人數、數學平均成績、英語平均成績(建議使用rollup)。
SELECT COUNT(id_number),AVG(match),AVG(english) FROM dm_acrm.test01 GROUP BY rollup(CLASS);

http://blog.itpub.net/519536/viewspace-610995/

11、有一張表TEST,有字段客戶ID(cust_id)和交易日期(txn_dte),表結構如下
Create test(
Cust_id numberic,
Txn_dte date
)distributed by(cust_id);
假設表中含有的數據量有千萬級以上(無法通過表自關聯),請生成一張表,里面存放客戶ID、交易日期以及上一次交易日期。

/*
distributed by關鍵字查到是GP數據庫相關的,以后遇到再說
*/


某公司的數據開發初級工程師筆試題:
一、SQL語句
已知3張表的關系模式:
S (SNO,SNAME) 學生關系。SNO 為學號,SNAME 為姓名
C (CNO,CNAME,CTEACHER) 課程關系。CNO 為課程號,CNAME 為課程名,CTEACHER 為任課教師
SC(SNO,CNO,SCGRADE) 選課關系。SCGRADE 為成績
要求實現如下5個處理:
1. 找出沒有選修過“李明”老師講授課程的所有學生姓名
2. 列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績
3. 列出既學過“1”號課程,又學過“2”號課程的所有學生姓名
4. 列出“1”號課成績比“2”號同學該門課成績高的所有學生的學號
5. 列出“1”號課成績比“2”號課成績高的所有學生的學號及其“1”號課和“2”號課的成績

1. SELECT SNAME
  FROM S
 WHERE SNAME != (SELECT A.SNAME
                  FROM S A, C B, SC C
                 WHERE A.SNO = C.SNO
                   AND B.CNO = C.CNO
                   AND B.CTEACHER = '李明');
2. SELECT A.SNAME, AVG(C.SCGRADE)
  FROM S A, C B, SC C
 WHERE A.SNO = C.SNO
   AND B.CNO = C.CNO
   AND (SELECT COUNT(C.CNO)
          FROM S A, C B, SC C
         WHERE A.SNO = C.SNO
           AND B.CNO = C.CNO
           AND C.SCGRADE < 60
         GROUP BY A.SNAME) >= 2
 GROUP BY A.SNAME
3. SELECT A.SNAME
  FROM S A, C B, SC C
 WHERE A.SNO = C.SNO
   AND B.CNO = C.CNO
   AND (SELECT B.CNO
          FROM S A, C B, SC C
         WHERE A.SNO = C.SNO
           AND B.CNO = C.CNO) = 1
   AND (SELECT B.CNO
          FROM S A, C B, SC C
         WHERE A.SNO = C.SNO
           AND B.CNO = C.CNO) = 2;
4. SELECT A.SNO
  FROM S A, C B, SC C
 WHERE A.SNO = C.SNO
   AND B.CNO = C.CNO
   AND (SELECT C.SCGRADE FROM SC) >
       (SELECT C.SCGRADE
          FROM S A, C B, SC C
         WHERE A.SNO = C.SNO
           AND B.CNO = C.CNO
           AND A.SNO = 2
           AND B.CNO = 1)
5.  SELECT A.SNO, C.SCGRADE
          FROM S A, C B, SC C
         WHERE A.SNO = C.SNO
           AND B.CNO = C.CNO
           AND A.SNO =
               (SELECT A.SNO
                  FROM S A, C B, SC C
                 WHERE A.SNO = C.SNO
                   AND B.CNO = C.CNO
                   AND (SELECT C.SCGRADE FROM SC WHERE CNO = 1) >
                       (SELECT C.SCGRADE FROM SC WHERE CNO = 2))
           AND C.CNO IN (1, 2);


常問的面試題匯總:
1、怎么在存儲過程中使用臨時表?
2、口述一下存儲過程的寫法
3、你了解oracle表分區嗎?它有什么優缺點
4、oracle表分區的分區類型有哪幾種?它們的操作方法你知道嗎?
5、談談你對執行計劃的理解,你主要看執行計劃的哪部分?
6、你對sql語句優化有何看法,能說出幾種優化方法嗎?
7、oracle優化器內部處理的表連接方式知道嗎?有哪幾種?
8、會使用開窗函數嗎?說一下你對開窗函數、聚合函數、分析函數的理解
9、游標的屬性有哪幾種?顯式游標和隱式游標的使用方式分別是什么?
10、plsql塊怎么捕捉到異常?你能說出幾個常見的預定義異常嗎?
11、說一下自定義異常如何在plsql塊中實現?
12、你了解視圖嗎?視圖的優缺點是什么?
13、假如讓你開發一張報表,數據量比較小,你會怎樣去實現它?讓報表的數據展現出來?
14、hash join聽說過嗎?(回答 了解過 后,繼續追問 還有幾種連接方式你知道嗎?說一下看看) (這個其實跟7是差不多的,哈希連接這個東西我面試4次被問了3次,印象深刻)
15、你在學校里有沒有接觸過數據庫?了解數據庫的體系結構嗎?
16、你知道SGA和PGA分別是什么嗎?
17、有沒有試著寫過觸發器?觸發器的寫法能大致描述一下嗎?
18、函數和存儲過程有什么區別?
19、對函數了解嗎?說出幾個常用的函數
20、(說出SUM、COUNT、AVG等函數后)知道instr和substr嗎?他們的作用是什么?
22、(面試官拿出個本子)寫一下decode函數的基本結構(decode(valus,if1,then1,if2,then2……))
23、OLAP和OLTP分別指什么?
24、談談你對索引的理解
25、delete和truncate有什么區別
26、授權和撤銷權限用的指令分別是?
27、rowid和rownum有什么不同?
28、分頁存儲過程里的分頁sql語句部分是怎么寫的?能不能直接先select * from table_name where rownum>=6 然后再rownum<=10。(回答不能之后被追問 為什么?)
29、oracle作業中用到的包是?(追問 運行作業、刪除作業用到的包分別是?)
30、你的oracle的發展前景怎么看?
31、如果有一天甲骨文公司倒閉了,你會做出什么選擇?
32、你知道oracle的最高認證是什么嗎?(回答:OCM,追問:你想到達這種高度嗎?回答:想,追問:但是你知道通過OCM的人中國有多少嗎?這樣的高度是高級DBA的高度,有些人終其一生都達不到,在你被現實逼迫的時候,你會選擇放棄嗎?PS:這個考官當時很犀利,表情很嚴肅,內心很激動,一層一層追問下去,問得我都想哭了,小小應屆生,為了夢想而出來,容易么。。。)

關于“oracle中sql試題有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金平| 兴义市| 鱼台县| 建德市| 孝感市| 饶平县| 沈丘县| 慈溪市| 平昌县| 宿松县| 阿克苏市| 昌乐县| 汾西县| 潼南县| 北票市| 龙门县| 金溪县| 广宁县| 桂平市| 昭平县| 岑巩县| 化隆| 新密市| 德令哈市| 利辛县| 陆河县| 岳阳县| 湘乡市| 长兴县| 寻甸| 丰都县| 苍南县| 临夏县| 临湘市| 尉犁县| 万山特区| 临安市| 清水县| 龙泉市| 达州市| 南陵县|