天天看點

SQL查詢語句(oralce)(1)

一、SQL指令

1.資料定義語言:DDL

  主要用于建立删除資料庫對象和維護資料對象的屬性。主要有三個主指令:CREATE .DROP . ALTER

示例:

SQL>--建立普通資料表

SQL>CREATE TABLE ORDERS

(

Oid number PRIMARY KEY NOT NULL,

username varchar2(50) references USERINFO (username)

);

SQL>--建立備份資料表

SQL>CREATE TABLE 表1 AS SELECT * FROM 表2;

SQL>--删除表

SQL>DROP TABLE 表名;

SQL>--添加.修改.删除字段

SQL> ALTER TABLE 表名 ADD/MODIFY(字段 類型);

SQL> ALTER TABLE 表名 DROP(字段);

2.資料操作語言:DML

    資料操作語言主要是對表資料操作的一些指令,

包括SELECT .INSERT .UPDATE.DELETE。

(1)普通查詢語句:SELECT 字段 FROM 表名 WHERE 神馬字段 = 神馬;等等

(2)關聯查詢:

内連接配接:連接配接兩個表中隻要資料存在不比對就都不顯示

示例1:SELECT 字段.... FROM 表1 JOIN 表2 ON 表1.字段0 = 表2.字段0 ORDER BY 字段0

示例2:SELECT 字段.... FROM 表1 INNER JOIN 表2 ON 表1.字段0 = 表2.字段0  ORDER BY 字段0

示例3:SELECT 字段.... FROM 表1,表2 WHERE 表1.字段0 = 表2.字段0 ORDER BY 字段0

外連接配接:在兩個表連接配接查詢時,兩個表中都存在空比對的記錄,這些記錄都顯示出   來,空比對的字段用Null表示。

示例1:SELECT 字段.... FROM 表1  FULL OUTER JOIN 表2 ON 表1.字段0 = 表2.字段0

示例2:SELECT 字段.... FROM 表1  FULL  JOIN 表2 ON 表1.字段0 = 表2.字段0

左連接配接:連接配接兩個表的左表為主顯示表,空比對用Null

示例1:SELECT 字段 FROM 表1 LEFT JOIN 表2 ON 表1.字段0 = 表2.字段0

示例2:SELECT 字段 FROM 表1 LEFT OUTER JOIN 表2 ON 表1.字段0 = 表2.字段0

示例3:SELECT 字段 FROM 表1 , 表2 WHERE 表1.字段0 = 表2.字段0(+)

右連接配接:類似于左連接配接,但是以右表為基表

示例1:SELECT 字段 FROM 表1 RIGHT JOIN 表2 ON 表1.字段0 = 表2.字段0

示例2:SELECT 字段 FROM 表1 RIGHT OUTER JOIN 表2 ON 表1.字段0 = 表2.字段0

示例3:SELECT 字段 FROM 表1 , 表2 WHERE 表1.字段0(+) = 表2.字段0

(3)插入.修改資料

示例: SQL>INSERT INTO 表名 VALUES(對應的内容);

   SQL>UPDATE 表名 SET  神馬字段=新内容 WHERE ID = 那一個;

3.資料控制語言:DCL

主要用于資料庫中權限的授予和取消。

角色:系統中一組權限的集合,可以将一個角色授予一個使用者,這個使用者會同時擁有 該角色所有權限

常用角色:CONNECT(基本的連接配接),RESOURCE(資源使用),DBA(資料庫管理)

授權

示例1:SQL> GRANT CONNECT,RESOURCE TO 使用者名;

示例2:

GRANT ALL ON 對象名 TO 使用者名;是将該對象上的所有權限授予指定使用者。

回收權限:

示例1:REVOKE 系統權限名 FROM 使用者名

示例2:REVOKE 對象權限名 ON 對象名 FROM 使用者名

4.事務控制語言:TCL

TCL幾個事務控制指令:

COMMIT(送出) . ROLLBACK(回退) . SAVEPOINT(儲存)

5.僞表及僞列

(1)DUAL的僞表,這個表的資料中有一行一列

示例:SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss') FROM DUAL;

(2)僞列

ROWID 記錄每一資料行在硬碟上位置的唯一辨別;

ROWNUM 辨別查詢結果集中記錄序号;

LEVEL 查詢資料所對應的層次;

注:在select查詢中執行計劃是首先給出 rownum 排序,然後進行 order by 排序。 

6.集合運算

    (1)并集(UNION):目的是将兩個sql語句的結果合并起來,可以檢視你要查詢的結果

 UNION : 會排除重複的記錄。

UNION ALL :不會排除重複的記錄,速度較UNION快很多,建議在相同的情況下用這個。

注:UNION 用法中,兩個select語句的字段類型比對,并且字段個數要相同。

示例1:SQL>SELECT * FROM 表1 UNION SELECT * FROM 表2;

示例2:SQL>SELECT * FROM 表1 UNION ALL SELECT * FROM 表;

(2)交集(INTERSECT):會在兩個查詢結果中找到相同的記錄。

示例:SQL>SELECT * FROM 表1  INTERSECT  ALL SELECT * FROM 表2;

(3)剪集/割集(MINUS):會從第一個結果集合中減去第二個結果集合中存在的記錄。

示例:SQL>SELECT * FROM 表1   MINUS   ALL SELECT * FROM 表2;

上一篇: map容器

繼續閱讀