SQL(2)(重點關注MySQL)
阿新 • • 發佈:2018-12-26
常用的查詢條件:
查詢條件 | 謂詞 |
---|---|
比較 | =,>,<,>=,<=,!=,<>,!>,!<, NOT+上述運算子 |
確定範圍 | BETEWEEN AND,NOT BETWEEN AND |
確定集合 | IN,NOT IN |
字元匹配 | LIKE,NOT LIKE |
空值 | IS NULL,IS NOU NULL |
多重條件 | AND,OR |
LIKE
在WHERE子句中使用LIKE運算子來搜尋列中的指定模式。
萬用字元:
%
百分號表示零個,一個或多個字元
_
下劃線表示單個字元
舉例:(截圖自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;