首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 簡單查詢入門:SELECT、WHERE、ORDER BY、建表即選 (CTAS) 與僅複製結構

     編輯:Oracle 教學

Oracle 簡單查詢入門:SELECT、WHERE、ORDER BY、建表即選 (CTAS) 與僅複製結構

基礎 SELECT 語法

SELECT * | col1, col2 | expression
FROM table_name
WHERE condition
ORDER BY col [ASC|DESC];
  • *:所有欄位 (生產環境建議顯式列出)。
  • expression:運算式、函數、常數組合 (如 sal*12 AS annual)。
  • ORDER BY:預設 ASC 遞增;NULLS FIRST/LAST 控制空值排序。

範例:條件查詢與排序

SELECT empno, ename, sal, sal*12 AS annual_sal
FROM emp
WHERE deptno = 20
ORDER BY sal DESC;

CTAS:依查詢結果建立新表 (含資料)

CREATE TABLE infos1 AS
SELECT * FROM infos;
  • 新表不包含任何約束 (PK、FK、UK、Check、Not Null 僅保留 Not Null)。
  • 資料同步複製;大量資料可加 NOLOGGING、PARALLEL。

僅複製結構 (不複製資料)

CREATE TABLE infos2 AS
SELECT * FROM infos WHERE 1=2;

WHERE 1=2 恆偽,零行回傳,僅依選取清單建立欄位定義。

進階:帶約束建表 (12c+)

CREATE TABLE infos3 (
  id NUMBER PRIMARY KEY,
  name VARCHAR2(50) NOT NULL
) AS SELECT id, name FROM infos;

明確定義欄位與約束,再由查詢填充資料。

效能提示

  1. 避免 SELECT *,減少網路傳輸與解析開銷。
  2. WHERE 條件欄位有索引可大幅加速。
  3. 大結果集考慮分頁 (ROWNUM/OFFSET FETCH) 避免記憶體壓力。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved