MySql:SELECT 語句(三) WHERE 指定查詢條件


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 之外的學生信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM