【SQL資料庫資訊查詢大全】SQL Server與Oracle語法與範例教學

資料庫

在資料庫管理與開發過程中,熟練掌握資料查詢語法是提升效率與解決問題的關鍵。SQL Server 與 Oracle 是目前兩大主流關聯式資料庫系統,其查詢語法雖遵循 SQL 標準,但部分細節仍存在差異。本文將針對常見查詢操作,說明 SQL Server 與 Oracle 的語法使用方式,以便開發者能靈活運用。


一、基礎資料查詢

1. 查詢全部欄位

  • SQL Server / Oracle 共通SELECT * FROM TableName;

2. 查詢指定欄位

  • SQL Server / Oracle 共通SELECT Column1, Column2 FROM TableName;

3. 查詢不重複資料

  • SQL Server / Oracle 共通SELECT DISTINCT ColumnName FROM TableName;

二、條件篩選

1. 使用 WHERE 子句

  • SQL Server / Oracle 共通SELECT * FROM TableName WHERE ColumnName = 'Value';

2. 比較運算符

運算符說明
=等於
<> 或 !=不等於
>大於
<小於
>=大於等於
<=小於等於

3. 邏輯運算符

運算符說明
AND並且
OR或者
NOT

4. 模糊查詢

  • SQL Server / Oracle 共通SELECT * FROM TableName WHERE ColumnName LIKE 'A%';
    • % 表示任意長度字串。
    • _ 表示單個字元。

三、排序與分頁

1. 資料排序

  • SQL Server / Oracle 共通SELECT * FROM TableName ORDER BY ColumnName [ASC|DESC];

2. 資料分頁

  • SQL ServerSELECT * FROM TableName ORDER BY ColumnName OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
  • Oracle(12c 以上版本)SELECT * FROM TableName ORDER BY ColumnName OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
  • Oracle(12c 以下版本)SELECT * FROM ( SELECT A.*, ROWNUM AS RN FROM TableName A WHERE ROWNUM <= 20 ) WHERE RN > 10;

四、聚合函數與分組

1. 常用聚合函數

函數說明
COUNT()計算筆數
SUM()求和
AVG()平均值
MAX()最大值
MIN()最小值

2. 使用 GROUP BY 分組

  • SQL Server / Oracle 共通SELECT Column1, COUNT(*) FROM TableName GROUP BY Column1;

3. 使用 HAVING 過濾分組結果

  • SQL Server / Oracle 共通SELECT Column1, COUNT(*) FROM TableName GROUP BY Column1 HAVING COUNT(*) > 1;

五、資料表連接

1. INNER JOIN

  • SQL Server / Oracle 共通SELECT A.Column1, B.Column2 FROM TableA A INNER JOIN TableB B ON A.KeyColumn = B.KeyColumn;

2. LEFT JOIN

  • SQL Server / Oracle 共通SELECT A.Column1, B.Column2 FROM TableA A LEFT JOIN TableB B ON A.KeyColumn = B.KeyColumn;

3. RIGHT JOIN

  • SQL Server / Oracle 共通SELECT A.Column1, B.Column2 FROM TableA A RIGHT JOIN TableB B ON A.KeyColumn = B.KeyColumn;

六、查詢最佳化建議

  1. 使用索引:
    • 確認查詢條件欄位有適當索引。
  2. 避免 SELECT *:
    • 僅選取需要的欄位。
  3. 使用 EXPLAIN 或執行計劃分析查詢性能。
  4. 避免在 WHERE 條件對欄位使用函數運算,影響索引使用。

透過掌握 SQL Server 與 Oracle 查詢語法的差異與最佳實踐,能有效提升資料庫操作效率,並為企業數據分析與應用開發奠定堅實基礎。

發佈留言