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

SQL SELECT 查詢基礎:列投影、WHERE 篩選與 LIKE 模糊匹配實戰

     編輯:關於SqlServer

最簡 SELECT 語法

SELECT column_list FROM table_name [WHERE condition];
  • column_list:指定列名,用逗號分隔;* 代表所有列(生產環境慎用)
  • WHERE:可選,行級過濾條件

比較運算符速查

運算符含義
=等於
> / < / >= / <=大於/小於/大於等於/小於等於
<>不等於(標準 SQL)

LIKE 模糊查詢:通配符核心

通配符含義範例匹配示例
%任意長度字符(含 0)first LIKE 'Er%'Eric, Erica, Er
_單個任意字符last LIKE '_mith'Smith, smith
[範圍]單字符在集合內code LIKE '[A-C]%'A..., B..., C...
[^範圍]單字符不在集合code LIKE '[^0-9]%'非數字開頭

實戰範例

-- 精確匹配
SELECT * FROM empinfo WHERE first = 'Eric';

-- 前綴模糊(可用索引)
SELECT first, last, city FROM empinfo WHERE first LIKE 'Er%';

-- 後綴模糊(通常掃表)
SELECT first, last FROM empinfo WHERE last LIKE '%s';

-- 包含模糊(全表掃描)
SELECT * FROM empinfo WHERE first LIKE '%ric%';

性能提示

  • 前綴 LIKE 'abc%' 可利用 B+ 樹索引 Seek
  • 前導通配符 LIKE '%abc' 或 LIKE '%abc%' 導致 Index Scan
  • 大量模糊查詢考慮全文索引或 Elasticsearch
  • LIKE 預設不區分大小寫(取決於 Collation),區分用 COLLATE Latin1_General_CS_AS
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved