oracle數據庫之sql語句使用

   

oracle數據庫之sql語句使用

                





                      SCOTT E-R模型圖

 



                                

DEPT 部門表             EMP 僱員表               BONUS 獎金錶         GRADE 工資等級                 

DEPTNO 部門編號         EMPNO    僱員編號         ENAME 僱員名稱     GRADE  工資等級

DNAME  部門名稱        ENAME    僱員名稱         JOB 工作職位          LOSAL   最低薪資

LOC    部門位置       JOB      工作職位         SAL  薪資            HISAL  最高薪資

                  MGR      領導編號         COMM 獎金

                  HIREDATE 僱用日期

                  SAL      薪資

                  COMM     獎金

                  DEPTNO   部門編號




語法結構

select 列名/表名     ---用於從表中選取數據

from  表名

where 條件


例子 select * from tab;  列出所有表


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


1.select 語句

select 列名稱 from 表名稱

select * from 表名稱


例子1:列出emp中所有員工名

SQL> select ename from emp;


ENAME

----------

SMITH

ALLEN

WARD

JONES

MARTIN

BLAKE

CLARK

SCOTT

KING

TURNER

ADAMS


ENAME

----------

JAMES

FORD

MILLER


14 rows selected.



例子2:列出emp表的所有信息

SQL> select * from emp;


     EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

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

    DEPTNO

----------

      7369 SMITH      CLERK      7902 17-DEC-80    800

20


      7499 ALLEN      SALESMAN      7698 20-FEB-81   1600        300

30


      7521 WARD       SALESMAN      7698 22-FEB-81   1250        500

30


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


2.distinct語句  ---用於返回唯一不同的值

  語法:select distinct 列表名 from 表名稱


例子:列出emp表中所有不重名的員工

SQL> select distinct ename from emp;


ENAME

----------

ALLEN

JONES

FORD

CLARK

MILLER

SMITH

WARD

MARTIN

SCOTT

TURNER

ADAMS


ENAME

----------

BLAKE

KING

JAMES


14 rows selected.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


3.where語句

  語法:select 列表名 from 表名稱 where 列 運算符 值

操作符

=  等於

<> 不等於

>  大於

<  小於

>= 大於等於

<= 小於等於

between。。and 。。  在某個範圍內

like    搜索某種模式


例子:列出emp表中員工名爲scott的所有信息

SQL> select * from emp where ename='SCOTT';


     EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

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

    DEPTNO

----------

      7788 SCOTT      ANALYST      7566 19-APR-87   3000

20


字符使用單引號,數值不用引號


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


4.and&or運算符   ----用於基於一個以上的條件對記錄進行過濾

  可在where子語句中把兩個或多個條件結合起來

  如果第一個條件和第二個條件都成立,則and運算符顯示一條記錄

  如果第一個條件和第二個條件只有一個成立,則or運算符顯示一條記錄


例子1:and  --列出emp表中員工名爲king且工資爲5000的所有信息

SQL> select * from emp where ename='KING' and sal=5000;


     EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

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

    DEPTNO

----------

      7839 KING       PRESIDENT   17-NOV-81   5000

10


例子2:or   ---列出emp表中員工名爲king或工資爲3000的員工的所有信息

SQL> select * from emp where ename='KING' or sal=3000;


     EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

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

    DEPTNO

----------

      7788 SCOTT      ANALYST      7566 19-APR-87   3000

20


      7839 KING       PRESIDENT   17-NOV-81   5000

10


      7902 FORD       ANALYST      7566 03-DEC-81   3000

20



例子3:and&or   ---列出emp表中員工名爲scott或king的並且工資爲3000的員工所有信息

SQL> select * from emp where (ename='SCOTT' or ename='KING') and sal=3000;


     EMPNO ENAME      JOB       MGR HIREDATE    SAL       COMM

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

    DEPTNO

----------

      7788 SCOTT      ANALYST      7566 19-APR-87   3000

20 

     


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


5.order by語句

order by語句用於根據指定的列隊結果集進行排序,默認升

desc 爲降序

asc爲升序


例子1:按工資由高到低進行排序

SQL> select ename,sal from emp order by sal desc;


ENAME  SAL

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

KING 5000

FORD 3000

SCOTT 3000

JONES 2975

BLAKE 2850

CLARK 2450

ALLEN 1600

TURNER 1500

MILLER 1300

WARD 1250

MARTIN 1250


ENAME  SAL

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

ADAMS 1100

JAMES  950

SMITH  800


14 rows selected.


例子2:按工資由低到高進行排序

SQL> select ename,sal from emp order by sal asc;


ENAME  SAL

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

SMITH  800

JAMES  950

ADAMS 1100

WARD 1250

MARTIN 1250

MILLER 1300

TURNER 1500

ALLEN 1600

CLARK 2450

BLAKE 2850

JONES 2975


ENAME  SAL

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

SCOTT 3000

FORD 3000

KING 5000


14 rows selected.







 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章