下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、連接用戶:超級(jí)用戶:conn sys 用戶名/密碼 as sysdba普通用戶:conn system 用戶名/密碼創(chuàng)建表空間:CREATE TABLESPACE epet_tablespaceDATAFILE 'E:appAdministratororadataorcltest.DBF'SIZE 100Mautoextend on next 32m maxsize 2048m 刪除表空間、對(duì)象及數(shù)據(jù)文件:drop tablespace study including contents and datafiles;為表空間創(chuàng)建用戶CREATE USER userIDENTIFI
2、ED BY passwordDEFAULT TABLESPACE tablespaceCONNECT:臨時(shí)用戶RESOURCE:更為可靠和正式的用戶DBA:數(shù)據(jù)庫管理員角色,擁有管理數(shù)據(jù)庫的最高權(quán)限#分配權(quán)限或角色GRANT privileges or role TO user;#撤銷權(quán)限或角色REVOKE privileges or role FROM user;CONNECT角色: -是授予最終用戶的典型權(quán)利,最基本的 CREATE SESSION -建立會(huì)話 RESOURCE 角色: -是授予開發(fā)人員的 CREATE CLUSTER -建立聚簇 CREATE PROCEDURE -建立過
3、程 CREATE SEQUENCE -建立序列 CREATE TABLE -建表 CREATE TRIGGER -建立觸發(fā)器 CREATE TYPE -建立類型 數(shù)據(jù)查詢語言(DQL:Data Query Language)用于檢索數(shù)據(jù)庫表中存儲(chǔ)的行。可以使用SQL的SELECT語句編寫查詢語句。數(shù)據(jù)操作語言(DML:Data Manipulation Language)用于修改表的內(nèi)容。DML語句有三種,分別為Insert,Update,Delete。事務(wù)控制語言(TCL: Transaction Control Language)用于將對(duì)行所作的修改永久性的存儲(chǔ)到表中,或者取消這些修改操作
4、。TC語句共有3種:Commit 永久性的保存對(duì)行所作的修改。Rollback 取消對(duì)行所作的修改。SavePoint 設(shè)置一個(gè)“保存點(diǎn)”,可以將對(duì)行所作的修改回滾到此處。數(shù)據(jù)定義語言(DDL: Data Definition Language)用于定義構(gòu)成數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu),例如表。DDL語句有5種基本類型:分別為Create 創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。Alter 修改數(shù)據(jù)庫結(jié)構(gòu)。Drop 刪除數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)控制語言(DCL:Data Control Language)用于修改數(shù)據(jù)庫結(jié)構(gòu)的操作權(quán)限。DCL語句有兩種:Grant 授予其他用戶對(duì)數(shù)據(jù)庫結(jié)構(gòu)(例如表)的訪問權(quán)限。REVOKE 防治其他用戶訪
5、問數(shù)據(jù)庫結(jié)構(gòu)dual是一個(gè)虛擬表,用來構(gòu)成select的語法規(guī)則,oracle保證dual里面永遠(yuǎn)只有一條記錄。我們可以用它來做很多事情,如下:1、查看當(dāng)前用戶,可以在 SQL Plus中執(zhí)行下面語句select user from dual;2、用來調(diào)用系統(tǒng)函數(shù)select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;-獲得當(dāng)前系統(tǒng)時(shí)間select SYS_CONTEXT('USERENV','TERMINAL') from dual;-獲得主機(jī)名select dbms_random.r
6、andom from dual;-獲得一個(gè)隨機(jī)數(shù)3、得到序列的下一個(gè)值或當(dāng)前值,用下面語句select your_sequence.nextval from dual;-獲得序列your_sequence的下一個(gè)值select your_sequence.currval from dual;-獲得序列your_sequence的當(dāng)前值4、可以用做計(jì)算器select 7*9 from dual;多表聯(lián)查SELECT S.SName AS 姓名, CS.CourseName AS 課程, C.Score AS 成績FROM Students AS S INNER JOIN Score AS C O
7、N (S.SCode = C.StudentID)INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID) 優(yōu)先級(jí)1算術(shù)運(yùn)算符2連接符3比較符4IS NOT NULL, LIKE, NOT IN5NOT BETWEEN6NOT 7AND8OR偽列分頁:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM student A WHERE ROWNUM <= 5 ) WHERE RN > 0創(chuàng)建索引:create unique/bitmap index 索引名字 on 表名(字段)創(chuàng)建同義詞:CREATE
8、 PUBLIC SYNONYM synonym FOR object;WITH 子句使用 WITH 子句, 可以避免在 SELECT 語句中重復(fù)書寫相同的語句塊WITH 子句將該子句中的語句塊執(zhí)行一次 并存儲(chǔ)到用戶的臨時(shí)表空間中使用 WITH 子句可以提高查詢效率1.not null 非空【如果在列上定義了not null,那么插入數(shù)據(jù)時(shí)必須為該列提供數(shù)據(jù),否則插不進(jìn)去?!?.unique 唯一鍵【當(dāng)定義了唯一約束以后,該列值是不能重復(fù)的,但是可以為null】3.primary key 主鍵【用于唯一的標(biāo)識(shí)表行的數(shù)據(jù),當(dāng)定義主鍵約束后,該列不但不能重復(fù)而且不能為null說明:一張表最多只能有一
9、個(gè)主鍵,但是可以有多個(gè)unique約束。聯(lián)合主鍵:多列聯(lián)合起來作為主鍵?!?.foreign key 外鍵【用于定義主表和從表之間的關(guān)系,外鍵約束要定義在從表上,主表則必須有主鍵約束或unique約束,當(dāng)定義外鍵約束后,要求外鍵列數(shù)據(jù)必須在主表的主鍵列存在或是為null】5.check 檢查【用于強(qiáng)制行數(shù)據(jù)必須滿足的條件,假定在score列上定義了check約束,并要求score列值在0-100之間,如果不在此區(qū)間內(nèi)就提示錯(cuò)誤?!緿ROP CONSTRAINT刪除約束DISABLE CONSTRAINT無效化約束ENABLE CONSTRAINT 激活約束查詢約束SELECTconstrain
10、t_name, constraint_type, search_conditionFROMuser_constraintsWHEREtable_name = 'EMPLOYEES'UNION 操作符:合并數(shù)據(jù)INTERSECT 操作符:交集MINUS 操作符:補(bǔ)集回滾:使用 SAVEPOINT 語句在當(dāng)前事務(wù)中創(chuàng)建保存點(diǎn)。使用 ROLLBACK TO SAVEPOINT 語句回滾到創(chuàng)建的保存點(diǎn)視圖:CREATE VIEW stud_viewAS SELECT studno, studname, subnoFROM Stud_details;1.
11、; 查詢員工表所有數(shù)據(jù), 并說明使用*的缺點(diǎn)答案:select * from emp;使用*的缺點(diǎn)有:查詢出了不必要的列;效率上不如直接指定列名。2. 查詢職位(JOB)為'PRESIDENT'的員工的工資答案:select * from emp where job = 'PRESIDENT'3. 查詢傭金(COMM)為0或?yàn)镹ULL的員工信息答案:sel
12、ect * from emp where comm = 0 or comm is null;4. 查詢?nèi)肼毴掌谠?981-5-1 到1981-12-31之間的所有員工信息答案:select * from emp where hiredatebetween to_date('1981-5-1','yyyy-mm-dd') and to_date('1981-12-31','yyyy-mm-dd');5. &
13、#160; 查詢所有名字長度為4 的員工的員工編號(hào),姓名答案:select * from emp where length(ename) = 4;6. 顯示10 號(hào)部門的所有經(jīng)理('MANAGER')和20號(hào)部門的所有職員('CLERK')的詳細(xì)信息答案:select * from emp where deptno = 10 and job = 'MANAGER' or deptno = 20 and job='CLERK'7.
14、 顯示姓名中沒有'L'字的員工的詳細(xì)信息或含有'SM'字的員工信息答案:select * from emp where ename not like '%L%' or ename like '%SM%'8. 顯示各個(gè)部門經(jīng)理('MANAGER')的工資答案:select sal from emp where job = 'MANAGER'
15、9. 顯示傭金(COMM)收入比工資(SAL)高的員工的詳細(xì)信息答案:select * from emp where comm > sal;10. 把hiredate列看做是員工的生日,求本月過生日的員工答案:select * from emp where to_char(hiredate, 'mm') = to_char(sysdate , 'mm');11. 把hiredate列看做是員工的生日,求下
16、月過生日的員工答案:select * from emp where to_char(hiredate, 'mm') = to_char(add_months(sysdate,1) ,'mm');12. 求1982年入職的員工答案:select * from emp where to_char(hiredate,'yyyy') = '1982'13. 求1981年下半年入職的員工答案:select * from emp where hiredatebetween
17、 to_date('1981-7-1','yyyy-mm-dd') and to_date('1982-1-1','yyyy-mm-dd') - 1;14. 求1981年各個(gè)月入職的的員工個(gè)數(shù)答案:select count(*), to_char(trunc(hiredate,'month'),'yyyy-mm')from emp where to_char(hiredate,'yyyy')='1981'group by trunc
18、(hiredate,'month')order by trunc(hiredate,'month');15. 查詢各個(gè)部門的平均工資答案:select deptno,avg(sal) from emp group by deptno;16. 顯示各種職位的最低工資答案:select job,min(sal) from emp group by job;17. 按照入職日期由新到舊排列員工信息答案:select * from emp order by hir
19、edate desc;18. 查詢員工的基本信息,附加其上級(jí)的姓名答案:select e.*, e2.ename from emp e, emp e2 where e.mgr = e2.empno;19. 顯示工資比'ALLEN'高的所有員工的姓名和工資答案:select * from emp where sal > (select sal from emp where ename='ALLEN');20. 顯示與'SCOTT'從事相
20、同工作的員工的詳細(xì)信息答案:select * from emp where job = (select * from emp where ename='SCOTT');21. 顯示銷售部('SALES')員工的姓名答案:select ename from emp e, dept d where e.deptno = d.deptno and d.dname='SALES'22. 顯示與30號(hào)部門'MARTIN'員工工資相同的員工的姓名和工資答案:select
21、ename, sal from empwhere sal = (select sal from emp where deptno=30 and ename='MARTIN');23. 查詢所有工資高于平均工資(平均工資包括所有員工)的銷售人員('SALESMAN')答案:select * from emp where job='SALESMAN' and sal > (select avg(sal) from emp);24. 顯示所有職員的姓名及其所在部門的名稱和工資
22、答案:select ename, job, dname from emp e, dept d where e.deptno = d.deptno;25. 查詢?cè)谘邪l(fā)部('RESEARCH')工作員工的編號(hào),姓名,工作部門,工作所在地答案:select empno,ename,dname,loc from emp e, dept dwhere e.deptno = d.deptno and danme='RESEARCH'26. 查詢各個(gè)部門的名稱和員工人數(shù)答案:select * from (
23、select count(*) c, deptno from emp group by deptno) einner join dept d on e.deptno = d.deptno;27. 查詢各個(gè)職位員工工資大于平均工資(平均工資包括所有員工)的人數(shù)和員工職位答案:select job, count(*) from emp where sal > (select avg(sal) from emp) group by job;28. 查詢工資相同的員工的工資和姓名答案:select * from emp e
24、where (select count(*) from emp where sal = e.sal group by sal)> 1;29. 查詢工資最高的3名員工信息答案:select * from (select * from emp order by sal desc) where rownum <= 3;30. 按工資進(jìn)行排名,排名從1開始,工資相同排名相同(如果兩人并列第1則沒有第2名,從第三名繼續(xù)排)答案:select e.*, (select count(*) from emp where sal
25、 > e.sal)+1 rank from emp e order byrank;31. 求入職日期相同的(年月日相同)的員工答案:select * from emp e where (select count(*) from emp where e.hiredate=hiredate)>1;32. 查詢每個(gè)部門的最高工資答案:select deptno, max(sal) maxsal from emp group by deptno order by deptno;33.
26、 查詢每個(gè)部門,每種職位的最高工資答案:select deptno, job, max(sal) from emp group by deptno, job order by deptno, job;34. 查詢每個(gè)員工的信息及工資級(jí)別答案:select e.*, sg.grade from emp e, salgrade sg where sal between losal and hisal;35. 查詢工資最高的第6-10名員工答案:select * from (select e.*,rownum rn from(s
27、elect * from emp order by sal desc) ewhere rownum <=10)where rn > 5;36. 查詢各部門工資最高的員工信息答案:select * from emp e where e.sal = (select max(sal) from emp where (deptno =e.deptno);37. 查詢每個(gè)部門工資最高的前2名員工答案:select * from emp e where(select count(*) from emp where sal
28、> e.sal and e.deptno = deptno) < 2order by deptno, sal desc;38. 查詢出有3個(gè)以上下屬的員工信息答案:select * from emp e where(select count(*) from emp where e.empno = mgr) > 2;39. 查詢所有大于本部門平均工資的員工信息答案:select * from emp e where sal >(select avg(sal) from emp where (deptn
29、o = e.deptno)order by deptno;40. 查詢平均工資最高的部門信息答案:select d.*, avgsal from dept d, (select avg(sal) avgsal, deptno from emp group bydeptno) sewhere avgsal = (select max(avg(sal) from emp group by deptno) and d.deptno =se.deptno;41. 查詢大于各部門總工資的平均值的部門信息答案:select d.*,s
30、umsal from dept d, (select sum(sal) sumsal, deptno from emp group bydeptno) sewhere sumsal >(select avg(sum(sal) from emp group by deptno) and se.deptno =d.deptno;42. 查詢大于各部門總工資的平均值的部門下的員工信息答案:select e.*,sumsal from emp e, (select sum(sal) sumsal, deptno from emp group bydeptno)
31、 sewhere sumsal >(select avg(sum(sal) from emp group by deptno) and se.deptno =e.deptno;43. 查詢沒有員工的部門信息答案:select d.* from dept d left join emp e on (e.deptno = d.deptno) where empno is null;44. 查詢當(dāng)前月有多少天答案:select trunc(add_months(sysdate,1),'month') - t
32、runc(sysdate,'month') from dual;45. 列出最低薪金大于1500的各種工作及此從事此工作的全部雇員人數(shù)答案:SELECT job,COUNT(empno)FROM empGROUP BY job HAVING MIN(sal)>1500 ;46. 列出薪金高于公司平均薪金的所有員工,所在部門,上級(jí)領(lǐng)導(dǎo),公司的工資等級(jí)答案:SELECT e.empno,e.ename,d.dname,m.ename,s.gradeFROM emp e,dept d,emp m,salgr
33、ade sWHERE sal>(SELECT AVG(sal) FROM emp) AND e.mgr=m.empno AND d.deptno=e.deptno(+)AND e.sal BETWEEN s.losal AND s.hisal ;47. 列出薪金高于在部門30工作的所有員工的薪金的員工姓名和薪金、部門名稱答案:SELECT e.ename,e.sal,d.dname FROM emp e,dept dWHERE sal > ALL (SELECT sal FROM emp WHERE deptno=30) AND e.deptno=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年產(chǎn)品科學(xué)定價(jià)策略制定課程
- 2026年客戶價(jià)值精細(xì)化分層管理課
- 2026陜西西安美術(shù)學(xué)院博士教師崗位招聘28人備考題庫帶答案詳解
- 2026甘肅定西市臨洮縣消防救援大隊(duì)補(bǔ)錄政府專職消防員4人備考題庫及完整答案詳解
- 2026浙江錢江實(shí)驗(yàn)室有限公司招聘3人備考題庫及一套參考答案詳解
- 2026青海黃南州同仁市公益性崗位招聘21人備考題庫完整答案詳解
- 機(jī)械行業(yè)中東天然氣設(shè)備:內(nèi)需出口雙驅(qū)擴(kuò)產(chǎn)“開采-處理-儲(chǔ)運(yùn)-應(yīng)用”共赴出海
- 提升護(hù)理同質(zhì)化與個(gè)體化
- 籃球館老板年終總結(jié)(3篇)
- 2022~2023二級(jí)建造師考試題庫及答案第330期
- 光化學(xué)和光催化反應(yīng)的應(yīng)用
- 中日友好醫(yī)院公開招聘工作人員3人筆試參考題庫(共500題)答案詳解版
- VDA6.3-2016過程審核主要證據(jù)清單
- 辦公耗材采購 投標(biāo)方案(技術(shù)方案)
- 2020公務(wù)船技術(shù)規(guī)則
- 三片罐空罐檢驗(yàn)作業(yè)指導(dǎo)書
- 四川峨勝水泥集團(tuán)股份有限公司環(huán)保搬遷3000td熟料新型干法大壩水泥生產(chǎn)線環(huán)境影響評(píng)價(jià)報(bào)告書
- 開庭陳述事實(shí)舉證范文(4篇)
- 管道焊接工藝和熱處理課件
- 2023深圳工務(wù)署品牌名單
- 二年級(jí)下冊(cè)課文快樂讀書吧-神筆馬良
評(píng)論
0/150
提交評(píng)論