1、WHERE 子句條件操作符
包括:> 、<、>=、<=、!= 、=、BETWEEN ... AND ...(在指定的兩個值之間)
示例:
1)select * from student where stu_id=267;
2)select * from student where stu_id<267;
3)select * from student where stu_id between 267 and 305;
空值檢查:使用 NULL 關鍵字
select * from student where stu_id is null;
2、WHERE 子句邏輯操作符
1) AND
如果需要使用多個列一起過濾才能查詢出要查詢的結果,可以使用 AND 進行連接。
select * from student where stu_name="test13" and stu_id=26;

2)OR
與 AND 相反,只要匹配任一條件就可以。
select * from student where stu_id=26 or stu_id=27;

3)計算次序
WHERE 可以包含任意數目的 AND 和 OR。允許兩者結合以進行復雜和高級的過濾。
AND 的優先級高於 OR。也就是說在 SQL 中如果 AND 和 OR 混合使用,那么會優先運算 AND 然后在運算 OR。
例如:
SELECT * FROM products WHERE pro_id = 3 OR pro_id=4 AND pro_price>10;
那么對於 SQL 的理解是:查詢 id 為 4 並且價格大於 10 或者 id 為3 的任意條件的產品信息。
如果要實現查詢 id 為 3 或 4 並且價格大於 10 的產品信息,則需要使用圓括號來對操作符進行分組。
SELECT * FROM products WHERE (pro_id = 3 OR pro_id=4) AND pro_price>10;
小貼士:如果 AND 和 OR 同時使用,不管什么情況下,最好都使用圓括號來進行分組,避免造成不必要的歧義。
3、 IN
IN 用來指定條件范圍,范圍中的每個條件都可以進行匹配。用逗號分隔,全部括在圓括號中。
SELECT * FROM products WHERE pro_id IN (3, 4) AND pro_price>10;
作用和 OR 相同。使用 IN 的優點:
- 在使用較長的選項清單時,使用 IN 更為清楚直觀。
- 使用 IN 時,計算次序也更加清楚。
- IN 比 OR 執行更快。
- IN 的最大有點是可以包含其他 SELECT 語句。
4、NOT IN
用來否定后面跟的條件。
SELECT * FROM student WHERE stu_id NOT IN(26, 303); //表示查詢 stu_id 為 26、303 之外的學生信息
