搜尋
首頁電腦教學電腦知識練習ORACLE資料庫的題目

練習ORACLE資料庫的題目

Jan 23, 2024 pm 09:48 PM
oracle題目

練習ORACLE資料庫的題目

ORACLE資料庫的練習問題

使用scott/tiger使用者下的emp表完成下列練習,表格的結構說明如下

emp員工表 欄位內容如下:

empno 員工號碼

ename 員工姓名

job 工作

mgr 上級編號

hiredate 受僱日期

sal 薪金

comm 佣金

deptno 部門編號

1.選擇部門30中的所有員工.

2.列出所有辦事員(CLERK)的姓名,編號和部門編號.

3.找出佣金高於薪水的員工.

4.找出佣金高於薪水的60%的員工.

5.找出部門10中所有經理(MANAGER)和部門20中所有辦事員(CLERK)的詳細資料.

6.找出部門10中所有經理(MANAGER),部門20中所有辦事員(CLERK),既不是經理又不是辦事員但其薪金大於或等於2000的所有員工的詳細資料.

7.找出收取佣金的員工的不同工作.

8.找出不收取佣金或收取的佣金低於100的員工.

9.找出各月倒數第3天受僱的所有員工.

10.找出早於12年前受僱的員工.

11.以首字母大寫的方式顯示所有員工的姓名.

12.顯示剛好為5個字元的員工的姓名.

13.顯示不帶有"R"的員工的姓名.

14.顯示所有員工姓名的前三個字元.

15.顯示所有員工的姓名,用a取代所有"A"

16.顯示滿10年服務年資的員工的姓名和受僱日期.

17.顯示員工的詳細資料,依姓名排序.

18.顯示員工的姓名和受僱日期,根據其服務年限,將最老的員工排在最前面.

19.顯示所有員工的姓名、工作和薪金,按工作的降序排序,若工作相同則按薪金排序.

20.顯示所有員工的姓名、加入公司的年份和月份,按受僱日期所在月排序,若月份相同則將最早年份的員工排在最前面.

21.顯示在一個月為30天的情況所有員工的日薪金,忽略餘數.

22.找出在(任何年份的)2月受聘的所有員工。

23.對於每位員工,顯示其加入公司的天數.

24.顯示姓名欄位的任何位置包含"A"的所有員工的姓名.

25. 以年月日的方式顯示所有員工的服務年資.(大概)

oracle題目

(1) select deptno from dept where depptno in (select deptno from em);

(2)select empno,ename,sal from em where sal>(select sal from em where ename = 'SMITH');

(3)SELECT e.ename,d.dname from em e,dept d where e.deptno=d.deptno and e.job = 'CLERK';

(4)select empno,ename from em where job in (select job from em where ename = 'SCOTT') ;

(5)select job,min(sal) from em group by job;

(6)select d.dname ,min(e.sal) from dept d,em e

where d.deptno=e.deptno and e.job ='MANAGER' group by d.dname;

Oracle 11G SQL練習作業題

7.select 員工名,薪資 from 表 where 工資8.select 員工名,工資 from 表 where 工資>avg(工資) order by 職位;

9.例:t1中列n的數為[2,3];t2中列n的數為[1,2,3,4]

select * from t2 where n >any(select n from t1);結果:3,4.

註:查詢表t2中列n的數中有哪些數是比表t1中列n的最大的數[包含max的]。

select * from t2 where n = any(select n from t1);結果:2,3.

select * from t2 where n 10.select * from t2 where n >all(select n from t1);結果:4.

select * from t2 where n 12.SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2;合併table_name1、table_name2兩個表,沒有重複的欄位。

SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2;將table_name1、table_name2兩個表的所有資料連接,有重複的。

一道oracle預存程​​序的題目解

CREATE TABLE SC(

SNO INT,

CNO varchar(10),

GRADE INT

);

INSERT INTO SC VALUES(95001, '數學', 75);

INSERT INTO SC VALUES(95001, '語文', 92);

INSERT INTO SC VALUES(95002, '英文', 64);

INSERT INTO SC VALUES(95002, '英文', 77);

INSERT INTO SC VALUES(95003, '數學', 85);

CREATE TABLE SC_TOTAL(

SNO INT PRIMARY KEY,

"數學" number(5,2),

"語文" number(5,2),

"英語" number(5,2),

"平均分數" number(5,2)

);

DECLARE

#v_row_count INT;

BEGIN

FOR sc_rec IN (SELECT * FROM SC)

LOOP

-- 判斷資料有沒有

SELECT COUNT(*) INTO v_row_count

#FROM SC_TOTAL

WHERE SNO = sc_rec.SNO;

IF v_row_count = 0 THEN

-- 資料不存在. 先插入.

INSERT INTO SC_TOTAL(SNO) VALUES (sc_rec.SNO);

END IF;

-- 根據課程, 更新 具體的列.

IF sc_rec.CNO = '數學' THEN

UPDATE SC_TOTAL SET "數學" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;

ELSIF sc_rec.CNO = '語文' THEN

UPDATE SC_TOTAL SET "語文" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;

ELSIF sc_rec.CNO = '英文' THEN

UPDATE SC_TOTAL SET "英文" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;

END IF;

-- 計算平均分數.

UPDATE SC_TOTAL

SET "平均分數" = (NVL("數學",0) NVL("語文",0) NVL("英語",0))

/ (NVL2("數學", 1,0) NVL2("語文", 1, 0) NVL2("英語",1, 0))

WHERE SNO = sc_rec.SNO;

END LOOP;

END;

/

-- 資料核對.

SQL>SELECT * FROM SC_TOTAL;

SNO 數學 文 英文 平均分數

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

95001 75 92 83.5

95002 77 77

95003 85 85

以上是練習ORACLE資料庫的題目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Excel办公网。如有侵權,請聯絡admin@php.cn刪除
Linux vs Mac:如何在Mac上安裝Linux -MinitoolLinux vs Mac:如何在Mac上安裝Linux -MinitoolMay 14, 2025 am 01:21 AM

Linux和Mac有什麼區別?您要在Mac上安裝Linux嗎? Php.CN的這篇文章將向大家展示。您可以參考本指南有關雙啟動Linux和MacOS。

什麼是MHTML,IT和HTML之間有什麼區別-Minitool什麼是MHTML,IT和HTML之間有什麼區別-MinitoolMay 14, 2025 am 01:20 AM

什麼是MHTML?如何打開或查看它? IT和HTML之間有什麼區別?如何將MHTML轉換為HTML?如果您正在尋找上述問題的答案,則可以參考PHP.CN的這篇文章。

求解已刪除的文件在Windows 10 -Minitool中不斷出現求解已刪除的文件在Windows 10 -Minitool中不斷出現May 14, 2025 am 01:19 AM

本文重點介紹了刪除文件在Windows 10中不斷出現的主題,引入了負責任的原因和可行的解決方案。

如何通過卸載產品密鑰停用Windows 10/11 -Minitool如何通過卸載產品密鑰停用Windows 10/11 -MinitoolMay 14, 2025 am 01:18 AM

這篇文章教您如何通過刪除產品密鑰或許可證來停用Windows 10/11。您可以使用該產品密鑰在稍後(如果需要)激活另一台計算機。有關更多計算機提示和技巧,您可以訪問PHP.CN軟件官方網站。

即時解決錯誤0164:內存大小減小即時解決錯誤0164:內存大小減小May 14, 2025 am 01:15 AM

一些Windows用戶報告說,每次啟動計算機時,錯誤0164內存大小都會降低屏幕。怎麼了?如果您在同一條船上,恭喜!您來對地方了!在這篇文章中

最佳修復程序:此頁面現在在Facebook -Minitool上現在不可用最佳修復程序:此頁面現在在Facebook -Minitool上現在不可用May 14, 2025 am 01:11 AM

目前不可用的是您使用Web瀏覽器訪問Facebook時可能遇到的錯誤消息。在此php.cn帖子中,我們將列出一些有效的方法,您可以嘗試擺脫此錯誤。

Windows 11 KB5010414發行了許多新功能 -  MinitoolWindows 11 KB5010414發行了許多新功能 - MinitoolMay 14, 2025 am 01:09 AM

Windows 11 KB5010414現在可以使用Windows 11的新可選更新。您知道什麼是新的並解決了嗎? PHP.CN軟件將在這篇文章中向您顯示此信息。此外,它還告訴您如何下載和安裝在您的compu上

如何更改Windows 11中的Windows更新設置? -  Minitool如何更改Windows 11中的Windows更新設置? - MinitoolMay 14, 2025 am 01:08 AM

是否要在Windows 11計算機上暫停Windows更新?是否要設置主動時間以安排計算機重新啟動以完成更新過程?您需要知道如何更改Windows 11中的Windows更新設置。此php.cn帖子將向您顯示

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境