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

SQL Server 入門教學(二):SELECT 查詢與條件篩選全攻略

     編輯:關於SqlServer

資料存取:SELECT 陳述式詳解

SELECT 陳述式是 SQL Server 中最核心的資料查詢指令,掌握其各項功能能大幅提升開發效率。以下將詳細說明選取欄位、別名設定、計算值與條件篩選等實用技巧。

1. 選取資料表所有欄位

使用星號(*)可一次選取資料表中的所有欄位,無需逐一列出欄位名稱。欄位順序將依資料表定義順序呈現,語法簡潔直觀:

SELECT * FROM authors

2. 移除重複值:DISTINCT 關鍵字

當查詢結果包含重複資料時,可在 SELECT 子句後加入 DISTINCT 關鍵字以過濾重複列。需注意若選取多個欄位,DISTINCT 會針對所有欄位的組合進行去重,而非單一欄位。

SELECT DISTINCT city, state FROM authors

3. 自訂結果欄位名稱:別名設定

預設情況下結果欄位名稱同資料表定義,開發者可透過「別名 = 原欄位名」語法自訂顯示名稱,提升報表可讀性:

SELECT AuthorFirstName = au_fname FROM authors

4. 選取計算值與常數

SELECT 清單中可直接包含算術運算式或常數值,運算式可引用一個或多個資料表欄位,即時產生衍生資料:

SELECT totalSale = price * ytd_sales FROM titles

條件篩選:WHERE 子句深度解析

WHERE 子句透過比較與邏輯運算子,精準過濾符合條件的資料列,是資料查詢的關鍵機制。

比較運算子

支援數值、字串與日期資料類型比較,回傳 TRUE 或 FALSE。常用運算子包含:

  • 基本比較: =(等於)、<> 或 !=(不等於)、>(大於)、<(小於)、>=(大於等於)、<=(小於等於)
  • 否定形式: !>(不大於)、!<(不小於)

邏輯運算子與進階篩選

運算子功能說明範例
LIKE模式比對,支援萬用字元WHERE name LIKE 'New%'
BETWEEN範圍比對(含端點值)WHERE price BETWEEN 10 AND 100
IN清單比對,可搭配子查詢WHERE state IN ('CA', 'NY', 'TX')
AND / OR多條件邏輯組合WHERE type='novel' AND price>20
NOT邏輯否定WHERE NOT (status = 'archived')
SOME | ANY符合任一比較條件即為真WHERE price > SOME (SELECT price FROM sales)
ALL需符合所有比較條件才為真WHERE price > ALL (SELECT price FROM discounts)

萬用字元完整指南

LIKE 運算子搭配萬用字元可實現強大的模式比對:

  • %:代表零個或多個任意字元。如 'New%' 比對所有以 "New" 開頭的字串。
  • _:代表單一任意字元。適合固定長度模式比對。
  • []:指定字元集合或範圍。如 '[A-F]%' 比對 A 到 F 開頭的字串。
  • [^]:排除指定字元。如 '[^0-9]%' 比對非數字開頭的字串。

這些萬用字元可自由組合,滿足複雜查詢需求。

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