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

SQL Server 基礎教學:SELECT 與 DISTINCT 查詢完整指南

     編輯:關於SqlServer

SELECT 基礎語法

SELECT 陳述式用於從資料表擷取資料,結果以結果集呈現。

SELECT 欄位1, 欄位2, ... FROM 資料表名稱;
SELECT * FROM 資料表名稱; -- 選取所有欄位

注意:SQL 不分大小寫,`SELECT` 等同 `select`。

範例資料:Persons 表

IdLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon
2BushGeorgeFifth AvenueNew York
3CarterThomasChangan StreetBeijing

查詢特定欄位

SELECT LastName, FirstName FROM Persons;

結果:

LastNameFirstName
AdamsJohn
BushGeorge
CarterThomas

查詢所有欄位

SELECT * FROM Persons;

結果同原表。* 為所有欄位捷徑,生產環境建議明確列出欄位。

結果集導覽

應用程式透過資料存取介面(ADO.NET、JDBC、ODBC)在結果集中移動:

  • `MoveFirst` / `MoveNext` / `MovePrevious` / `MoveLast`
  • `GetString` / `GetInt32` / `GetDateTime` 等取值方法
  • 資料讀取器 供唯讀、順向、串流讀取,效能最佳。

SELECT DISTINCT:去除重複列

當欄位含重複值,需只取唯一值時使用。

SELECT DISTINCT 欄位名稱 FROM 資料表名稱;

範例:Orders 表

CompanyOrderNumber
IBM3532
W3School2356
Apple4698
W3School6953

無 DISTINCT

SELECT Company FROM Orders;

結果:IBM、W3School、Apple、W3School(重複)。

加上 DISTINCT

SELECT DISTINCT Company FROM Orders;

結果:IBM、W3School、Apple(各出現一次)。

進階用法

  • 多欄位 DISTINCT:`SELECT DISTINCT City, Country FROM Customers` 以組合唯一。
  • 搭配 ORDER BY:`SELECT DISTINCT City FROM Customers ORDER BY City`。
  • 聚合函數配合:`SELECT COUNT(DISTINCT City) FROM Customers` 計算不重複城市數。

效能提示

`DISTINCT` 會觸發排序或雜湊去重,大資料量時成本高。若欄位有唯一索引/主鍵,優化器可省略去重。僅在必要時使用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved