首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL SELECT 進階語法詳解(二):選擇列表、FROM、WHERE 條件與運算符完整參考

     編輯:MySQL 資料庫相關知識

SELECT 選擇列表 可包含項目

  1. *:依建表順序所有欄位
  2. 指定順序的欄位清單
  3. 別名:column_name AS column_heading
  4. 運算式:欄位、常數、函數、算術/位運算組合
  5. 內部函數或聚合函數
  6. 以上任意組合

FROM 子句

  • 指定查詢表,多表用逗號分隔
  • 表別名:tbl_name [AS] alias_name,後續引用必須用別名
  • 別名不可數字開頭

WHERE 搜尋條件完整語法

[NOT] expression comparison_operator expression
[NOT] expression [NOT] LIKE "match_string"
[NOT] expression IS [NOT] NULL
[NOT] expression [NOT] BETWEEN expression AND expression
[NOT] column_name join_operator column_name
[NOT] boolean_expression

邏輯運算符優先序

  1. AND(最高,除非括號改變)
  2. OR

比較運算符對照

符號意義
=等於
>大於
<小於
>=大於等於
<=小於等於
!= / <>不等於

字串比較規則

  • < 表示字典序較前(靠近字母表開頭)
  • 小寫 > 大寫 > 數字(視作業系統排序規則而定)
  • 尾部空格被忽略:'Dirk' = 'Dirk '

日期比較

  • < 表示較早,> 表示較晚
  • 字串與日期比較需加引號

LIKE 模式匹配

  • 適用 CHAR、VARCHAR、DATETIME(不含秒/毫秒)
  • MySQL 也支援數值運算式用 LIKE
  • DATETIME 建議用 LIKE:完整時間含日期部分,WHERE time LIKE '%9:20%' 可匹配 'Jan 1,1900 9:20AM'

通配符

符號意義
%任意長度字串(含空字串)
_任意單一字元

BETWEEN 範圍查詢

  • 語法:WHERE val BETWEEN x AND y(含首尾)
  • 若 x > y 則不回傳任何行

IS NULL 判斷

  • 專用於 NULL 值比較,一般比較運算符無法處理 NULL
  • MySQL 3.23.6+ 支援 <=> 安全等於運算符,可比較 NULL
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved