1. 程式人生 > >SQL(2)(重點關注MySQL)

SQL(2)(重點關注MySQL)

常用的查詢條件:

查詢條件 謂詞
比較 =,>,<,>=,<=,!=,<>,!>,!<, NOT+上述運算子
確定範圍 BETEWEEN AND,NOT BETWEEN AND
確定集合 IN,NOT IN
字元匹配 LIKE,NOT LIKE
空值 IS NULL,IS NOU NULL
多重條件 AND,OR

LIKE

在WHERE子句中使用LIKE運算子來搜尋列中的指定模式。
萬用字元:
百分號表示零個,一個或多個字元
_ 下劃線表示單個字元
舉例:(截圖自W3C)
來自W3C字串匹配:在WHERE子句的<比較條件>中使用謂詞[NOT] LIKE ‘匹配串’ [ESCAPE ‘ 換碼字元’]。其中匹配串指定了匹配模板,匹配模板就是固定字串或含萬用字元的字串,當匹配模板為固定字串時,可以用 =取代 LIKE ,用 != 或 < >取代 NOT LIKE 。
舉例:
查詢DB_Design課程的課程號和學分。

SELECT Cno,Ccredit  FROM SCourse     
WHERE Cname LIKE 'DB\_Design'  ESCAPE '\';

詢以DB_開頭、且倒數第3個字元為 i的課程的詳細情況。

SELECT  *  FROM  SCourse  
WHERE  Cname LIKE  'DB\_%i__' ESCAPE  '\';

SELECT LIMIT

指定要返回的記錄數量

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

IN

IN運算子使得在WHERE子句中能指定多個值,是多個OR條件的簡寫。

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
//或者
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);

BETWEEN

BETWEEN運算子選擇給定範圍內的值,是包含性的:包括開始和結束值。值可以是數字,文字或日期。

ELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;