第一章:SQL數據操作和查詢

1.總結:

 Oracle SQL 語句中有數據操縱語言(DML)、數據定義語言(DDL)、           數據控制語言(DCL)、事務控制語言(TCL)等等。

 DML 語句包括增刪改查語句,DDL 語句包括數據庫對象創建、修改和刪除語句,數據控制命令包括 GRANTREVOKE 等,事務控制命令有 COMMITROLLBACK 等。

 數據庫中建表常用的類型有:數字類型number(p,s),可變字符串varchar2(length),日期 date。

 Oracle 中 default 是一個值,在 Oracle 中不存在 default 約束。

 Oracle 的增刪改語句與 SQL Server 基本一致,都是使用 INSERTUPDATEDELETE完成。

 Oracle 高級查詢中要注意:DISTINCTNULLIN、BETWEEN…AND…。 集合操作有:UNIONUNION ALL、INTESECT、MINUS。

 聯接查詢有內聯接和外聯接。

2.練習:

--創建一查詢,顯示與Blake在同一部門工作的僱員的項目和受僱日期,但是Blake不包含在內。
select ename,hiredate from emp where deptno in (select deptno from emp where ename='BLAKE') and ename <> 'BLAKE';

--顯示位置在Dallas的部門內的僱員姓名、變化以及工作
SELECT * FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM DEPT WHERE LOC='DALLAS');

--顯示被King直接管理的僱員的姓名以及工資。
SELECT A.* FROM EMP A,EMP B WHERE A.MGR=B.EMPNO AND B.ENAME='KING';

--創建一查詢,顯示能獲得與Scott一樣工資和獎金的其他僱員的姓名、受僱日期以及工資
SELECT * FROM EMP WHERE (SAL,NVL(COMM,0))=(SELECT SAL,NVL(COMM,0) FROM EMP WHERE ENAME='SCOTT');
--創建一查詢,顯示與 Blake 在同一部門工作的僱員的項目和受僱日期,但是 Blake不包含在內。
  SELECT ENAME, JOB ,HIREDATE FROM EMP WHERE DEPTNO=(SELECT DEPTNO FROMEMP 
  WHERE ENAME='BLAKE') AND ENAME<>'BLAKE';
--顯示位置在 Dallas 的部門內的僱員姓名、變化以及工作。
  SELECT ENAME,JOB FROM EMP WHERE DEPTNO=(SELECTDEPTNO FROM DEPT WHERE  LOC=’DALLAS’);
--顯示被 King 直接管理的僱員的姓名以及工資。
   SELECT E.ENAME,E.SAL FROM EMP E,EMP EP 
   WHEREE.MGR=EP.EMPNO AND EP.ENAME='KING';
--創建一查詢,顯示能獲得與 Scott 一樣工資和獎金的其他僱員的姓名、受僱日期以及工資。
  SELECT ENAME,SAL,HIREDATE FROM EMP WHERE SAL=(SELECT SAL 
  FROM EMP WHERE ENAME='SCOTT')AND NVL(COMM,0)=(SELECT NVL(COMM,0) 
  FROM EMP WHERE ENAME='SCOTT') AND BENAME<>'SCOTT';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章