oracle語句練習--初級
記錄,學習一下
參考:blog.csdn.net/qq_30764991/article/details/81952197?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163955686916780269855063%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163955686916780269855063&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-2-81952197.pc_v2_rank_blog_default&utm_term=oracle&spm=1018.2226.3001.4450
實戰練習如下:首先建立表:
員工表建表語句: CREATE TABLE EMP ( ENAME VARCHAR2(30), EMPNO NUMBER(5), DEPTNO NUMBER(5), JOB VARCHAR2(20), HIREDATE DATE, COMM NUMBER(6,2), SAL NUMBER(6,2) );
部門表建表語句: CREATE TABLE DEPT ( DNAME VARCHAR2(30), DEPTNO NUMBER(5), LOC VARCHAR2(50) );
員工表插入資料: INSERT INTO EMP VALUES ('Zhou潤髮', 10001, 10, '辦事員', TO_DATE('20161130131322', 'YYYYMMDDHH24MISS'), 2500, 2400); INSERT INTO EMP VALUES ('Liu德華', 10002, 10, '辦事員', TO_DATE('20170105131334', 'YYYYMMDDHH24MISS'), 1800, 2250); INSERT INTO EMP VALUES ('Li連傑', 20001, 20, '辦事員', TO_DATE('20170313131339', 'YYYYMMDDHH24MISS'), 2200, 2350); INSERT INTO EMP VALUES ('xiang華強', 20000, 20, '經理', TO_DATE('20160130131343', 'YYYYMMDDHH24MISS'), 3980, 3500); INSERT INTO EMP VALUES ('Zhang柏芝', 30001, 30, '辦事員', TO_DATE('20170314131346', 'YYYYMMDDHH24MISS'), 1300, 2200); INSERT INTO EMP VALUES ('成long', 10000, 10, '經理', TO_DATE('20151031133724', 'YYYYMMDDHH24MISS'), 4800, 4000); INSERT INTO EMP VALUES ('zhang子怡', 30000, 30, '經理', TO_DATE('20161011133915', 'YYYYMMDDHH24MISS'), 3500, 3480); INSERT INTO EMP VALUES ('zhang家輝', 20002, 20, '辦事員', TO_DATE('20170330134519', 'YYYYMMDDHH24MISS'), 1600, 2000); INSERT INTO EMP VALUES ('Liu亦菲', 30002, 30, '駕駛員', TO_DATE('20170330135457', 'YYYYMMDDHH24MISS'), NULL, 2500); INSERT INTO EMP VALUES ('peng於晏', 20003, 20, '駕駛員', TO_DATE('20170411135625', 'YYYYMMDDHH24MISS'), NULL, 2500); INSERT INTO EMP VALUES ('Zhang涵予', 10003, 10, '駕駛員', TO_DATE('20170408135706', 'YYYYMMDDHH24MISS'), NULL, 2500);
部門表插入資料: INSERT INTO DEPT VALUES ('市場部', 10, '北京'); INSERT INTO DEPT VALUES ('公關部', 20, '上海'); INSERT INTO DEPT VALUES ('研發部', 30, '南京');
題目: --1.選擇30部門的職員 --2.列出所有辦事員的姓名、編號和部門 --3.找出獎金高於薪資的僱員 --4.找出佣金高於薪金60%的僱員 --5.找出部門10中所有經理和部門20中的所有辦事員的詳細資料 --6.找出既不是經理又不是辦事員但其薪金>=2000的所有僱員的詳細資料 --7.找出收取佣金的僱員的不同工作 --8.找出不收取佣金或收取的佣金低於2000的僱員 --9.找出各月最後一天受僱的所有僱員 --10.找出早於1年之前受僱的僱員 --11.顯示只有首字母大寫的所有僱員的姓名 --12.顯示正好為7個字元的僱員姓名 --13.顯示不帶有'Z'的僱員姓名 --14.顯示所有僱員的姓名的前三個字元 --15.顯示所有僱員的姓名,用小寫 z 替換所有大寫 Z . --16.顯示所有僱員的姓名以及滿1年服務年限的日期 --17.顯示僱員的詳細資料,按姓名排序 --18.顯示僱員姓名,根據其服務年限,將最老的僱員排在最前面 --19.顯示所有僱員的姓名、工作和薪金,按工作的降序順序排序,而工作相同時按薪金升序 --20.顯示所有僱員的姓名和加入公司的年份和月份,按僱員受僱日所在月排序,將最早年份的專案排在最前面 --21.顯示在一個月為30天的情況下所有僱員的日薪金 --22.找出在(任何年份的)1月受聘的所有僱員 --23.對於每個僱員,顯示其加入公司的天數 --24.顯示姓名欄位的任何位置,包含 "i" 的所有僱員的姓名 --25.以年、月和日顯示所有僱員的服務年限
答案: 1-- select ename,deptno from emp where deptno=30; 2-- select e.ename,e.empno,d.dname,e.job from emp e,dept d where e.deptno=d.deptno and e.job='辦事員'; 3-- select * from emp where comm>sal order by comm desc; 4-- select * from emp where comm>sal*0.6; 5.1-- select * from emp e,dept d where e.deptno=10 and e.job='經理' and e.deptno=d.deptno union all select * from emp e,dept d where e.deptno=20 and e.job='辦事員' and e.deptno=d.deptno; 5.2-- select * from emp e,dept d where (e.deptno=10 and e.job='經理' and e.deptno=d.deptno) or (e.deptno=20 and e.job='辦事員' and e.deptno=d.deptno); 6-- select * from emp e,dept d where e.sal>=2000 and e.job<>'辦事員' and e.job<>'經理' and e.deptno=d.deptno; 7-- select distinct job from emp where comm>0; 8-- select ename,nvl(comm,0) comms from emp where nvl(comm,0)<2000; 9-- select * from emp where hiredate=last_day(hiredate); 10.1-- select * from emp where months_between(sysdate,hiredate)>12; 10.2-- select * from emp where sysdate-hiredate>365; 11-- select * from emp where ename=initcap(ename); 12-- select * from emp where length(ename)=7; 13-- select * from emp where instr(ename,'Z')=0; 14-- select substr(ename,0,3) from emp 15-- select replace(ename,'Z','z') from emp 16-- select ename,add_months(hiredate,12) from emp 17-- select * from emp e,dept d where e.deptno=d.deptno order by e.ename 18.1-- select ename,trunc(months_between(sysdate,hiredate)/12,0) 服務年限 from emp order by 服務年限 desc 18.2-- select ename,hiredate from emp order by hiredate 19-- select ename,job,sal from emp order by job desc,sal asc 20.1-- select ename,extract(year from hiredate) 年份,extract(month from hiredate) 月份 from emp order by 年份,月份 20.2-- select ename,to_char(hiredate,'yyyy') 年份,to_char(hiredate,'mm') 月份 from emp order by hiredate 21-- select ename,sal/30,trunc(sal/30,1),floor(sal/30),ceil(sal/30) from emp 22.1-- select * from emp where extract(month from hiredate)=1 22.2-- select * from emp where to_char(hiredate,'mm')='01' 23-- select ename,floor(sysdate-hiredate) 入職天數 from emp order by 入職天數 desc 24.1-- select ename from emp where ename like '%i%'; 24.2-- select ename from emp where instr(ename,'i')>0 25-- select ename,floor(months_between(sysdate,hiredate)/12) 服務總年數, floor(months_between(sysdate,hiredate)) 服務總月數, floor(sysdate-hiredate) 服務總天數 from emp order by 服務總天數;
####################################################################################
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004783/viewspace-2847965/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL語句在oracle資料庫中的初級應用(上)SQLOracle資料庫
- python基礎語句小練習Python
- DVWA滲透測試初級練習
- 初識mysql語句MySql
- ORACLE常用語句:Oracle
- Day3--練習MySQL基礎語句MySql
- 加更—迴圈語句的練習題
- R語言的初級學習R語言
- 笨辦法學C 練習13:Switch語句
- 趣味練習:用迴圈語句做出圖形
- Oracle基本SQL語句OracleSQL
- Oracle 建立序列語句Oracle
- Bash初練習
- 初級英語學習筆記01筆記
- ORACLE 資料庫 查詢語句與DML語句Oracle資料庫
- SQL查詢語句 (Oracle)SQLOracle
- 第 7 節:流程控制-迴圈練習-跳出語句
- 【躍遷之路】SQL語句刻意練習(最後更新:2018.06.25)SQL
- 初學Python(3)迴圈語句Python
- ORACLE多表關聯UPDATE語句Oracle
- oracle中的條件語句Oracle
- Oracle資料庫語句大全Oracle資料庫
- 列出oracle dbtime得sql語句OracleSQL
- oracle檢視物件DDL語句Oracle物件
- 【LOB】Oracle lob管理常用語句Oracle
- oracle資料庫常用語句Oracle資料庫
- Oracle練習詳解Oracle
- SQL 語句學習SQL
- ORACLE結構化查詢語句Oracle
- 後臺執行SQL語句(oracle)SQLOracle
- Oracle SQL精妙SQL語句講解OracleSQL
- mysql常用語句練習-基於ecshop2.7.3資料庫(1)MySql資料庫
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- C語言練習(3)——語句x=x&(x-1)的真實意義C語言
- oracle-資料庫- insert 插入語句Oracle資料庫
- java連線oracle執行sql語句JavaOracleSQL
- 【SCRIPT】Oracle表管理段管理常用語句Oracle
- 學習Scala IF…ELSE 語句