Oracle 基礎查詢包含資料檢索、格式化輸出、算術運算與別名運用。以下為常用指令示範:
-- 查詢所有員工資料
SELECT * FROM emp;
-- 設定顯示格式
SET LINESIZE 120;
COL empno FOR 9999;
COL ename FOR A8;
SET PAGESIZE 30;
-- 算術運算與空值處理
SELECT empno, ename, sal, sal*12, comm, sal*12+comm FROM emp;
SELECT empno, ename, sal, sal*12, comm, sal*12+NVL(comm,0) FROM emp;
-- 別名用法(雙引號可含空格/特殊字元)
SELECT empno AS "員工編號", ename "姓名", sal 月薪, comm, sal*12+NVL(comm,0) 年收入 FROM emp;
-- 去除重複值
SELECT DISTINCT deptno FROM emp;
SELECT DISTINCT deptno, job FROM emp;
-- 字串串接
SELECT ename || '的薪水是' || sal FROM emp;
-- 日期格式設定與查詢
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';
SELECT * FROM emp WHERE hiredate = TO_DATE('1981-11-17','YYYY-MM-DD');
-- 比較運算子與 BETWEEN
SELECT * FROM emp WHERE sal BETWEEN 1000 AND 2000;
-- IN 運算子
SELECT * FROM emp WHERE deptno IN (10,20);
-- 模糊查詢 LIKE
SELECT * FROM emp WHERE ename LIKE 'S%'; -- 以 S 開頭
SELECT * FROM emp WHERE ename LIKE '____'; -- 四個字元
SELECT * FROM emp WHERE ename LIKE '%_%' ESCAPE '\'; -- 含底線字元
-- 空值判斷
SELECT * FROM emp WHERE comm IS NOT NULL;
-- 基本排序
SELECT * FROM emp ORDER BY sal;
SELECT * FROM emp ORDER BY sal DESC;
-- 使用別名、欄位序號排序
SELECT empno, ename, sal, sal*12 年薪 FROM emp ORDER BY 年薪;
SELECT empno, ename, sal, sal*12 FROM emp ORDER BY 4;
-- 多欄位排序
SELECT * FROM emp ORDER BY deptno, sal;
SELECT * FROM emp ORDER BY deptno DESC, sal DESC;
-- 空值排序控制
SELECT * FROM emp ORDER BY comm DESC NULLS LAST;
DESC。