SQL> --查詢一下當前登錄的用戶名
SQL> show user;
USER 為 "SCOTT"
SQL> --查詢當前用戶下有哪些表
SQL> select * from tab;
TNAME TABTYPE
------------------------------------------------------------ --------------
CLUSTERID
----------
DEPT TABLE
EMP TABLE
BONUS TABLE
TNAME TABTYPE
------------------------------------------------------------ --------------
CLUSTERID
----------
SALGRADE TABLE
SQL> --如果出來的結果不好看 你可以自己去設置和調整
SQL> --查詢當前一行顯示多少個字符
SQL> show linesize;
linesize 80
SQL> set linesize 120;
SQL> show linesize;
linesize 120
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------------------------------------ -------------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
SQL> --設置某一個字段的寬度
SQL> col tname for a8;
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
-------- -------------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
SQL> --dept 部門表emp 員工表
SQL> -- 查詢所有的員工信息
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已選擇14行。
SQL> --查詢所有的部門信息
SQL> select * from dept;
DEPTNO DNAME LOC
---------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> col deptno for 99;
SQL> select * from dept;
DEPTNO DNAME LOC
------ ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> --查看表的結構
SQL> desc dept;
名稱 是否為空? 類型
----------------------------------------------------------------- -------- --------------------------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
SQL> desc emp;
名稱 是否為空? 類型
----------------------------------------------------------------- -------- --------------------------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL> col deptno for 9999999;
SQL> select * from dept;
DEPTNO DNAME LOC
-------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> col deptno for 99999999;
SQL> select * from dept;
DEPTNO DNAME LOC
-----
---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> col ename for a8;
SQL> select * from dept;
DEPTNO DNAME LOC
--------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> col dname for a20;
SQL> select * from dept;
DEPTNO DNAME LOC
--------- -------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> --查詢所有的另一種形式
SQL> select deptno,dname,loc from dept;
DEPTNO DNAME LOC
--------- -------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> /*
SQL> SQL 優化的第一點: 如果再有查詢所有的操作優先采用列出所有列明的方法查詢,盡量少用* 代替所有。
SQL> */
SQL> --投影:查詢一個大表里面的部分數據(列為單位)
SQL> --查詢部門表里面的部門ID
SQL> select deptno from dept;
DEPTNO
---------
10
20
30
40
SQL> select deptno,dname from dept;
DEPTNO DNAME
--------- --------------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
SQL> --查詢 所有員工的 ID NAME SAL COMM 年薪
SQL> desc emp;
名稱 是否為空? 類型
----------------------------------------------------------------- -------- --------------------------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL> select empno,ename,sal,comm,sal*12 + comm
2 form emp;
form emp
*
第 2 行出現錯誤:
ORA-00923: 未找到要求的 FROM 關鍵字
SQL> 2
2* form emp
SQL> c /form/from;
2* from emp
SQL> /
EMPNO ENAME SAL COMM SAL*12+COMM
---------- -------- ---------- ---------- -----------
7369 SMITH 800
7499 ALLEN 1600 300 19500
7521 WARD 1250 500 15500
7566 JONES 2975
7654 MARTIN 1250 1400 16400
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500 0 18000
7876 ADAMS 1100
EMPNO ENAME SAL COMM SAL*12+COMM
---------- -------- ---------- ---------- -----------
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
已選擇14行。
SQL> -- 總結c(change)命令 首先定位到你錯誤的哪一行(直接輸入錯誤的行號回車), c空格/錯誤的單詞/正確的單詞
SQL> --/可以用來運行上一條sql語句
SQL> /*
SQL> 如果你在做算術運算的時候,某一個字段為空(null),那么他的到的結果就是null
SQL> 在oracle中null 永遠不等于null
SQL> */
SQL> --如果你要解決null的問題你需要用到一個oracle的慮空函數
SQL> select empno,ename,sal,comm, sal*12 + nvl(comm,0)
2 from emp;
EMPNO ENAME SAL COMM SAL*12+NVL(COMM,0)
---------- -------- ---------- ---------- ------------------
7369 SMITH 800 9600
7499 ALLEN 1600 300 19500
7521 WARD 1250 500 15500
7566 JONES 2975 35700
7654 MARTIN 1250 1400 16400
7698 BLAKE 2850 34200
7782 CLARK 2450 29400
7788 SCOTT 3000 36000
7839 KING 5000 60000
7844 TURNER 1500 0 18000
7876 ADAMS 1100 13200
EMPNO ENAME SAL COMM SAL*12+NVL(COMM,0)
---------- -------- ---------- ---------- ------------------
7900 JAMES 950 11400
7902 FORD 3000 36000
7934 MILLER 1300 15600
已選擇14行。
SQL> --查詢comm為null的員工信息
SQL> select *
2 from emp
3 where comm = null;
未選定行
SQL> select *
2 from emp
3 where comm is null;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------- ------------------ ---------- -------------- ---------- ---------- ---------
7369 SMITH CLERK 7902 17-12月-80 800 20
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已選擇10行。
SQL> spool off;
文章列表