數據庫SQL語句學習筆記(4)-過濾數據


1.數據庫檢索要求滿足特定搜索條件的行會被檢索出來,搜索條件也被稱作是過濾條件。

在SELECT語句中,數據更具WHERE子句進行搜索條件過濾,在FROM子句之后給出

SELECT prod_name,prod_price 
FROM Products 
WHERE prod_price=3.49;

輸出:

分析:滿足prod_price為3.49的值都會顯示出來。

同時使用ORDER BY和WHERE子句時,ORDER BY位於WHERE之后

2.WHERE子句操作符

操作符 = <> != < > <= >= ! !> BETWEEN IS NULL
說明 等於 不等於 不等於 小於 大於 小於等於 大於等於 不小於 不大於 在指定值之間 為NULL

BETWEEN 5 AND 10         在5和10之間

SELECT prod_name,prod_price 
FROM Products 
WHERE prod_price IS NULL;

這個語句返回所以沒有價格的行,不是0,也不是空格

3.操作符:用來聯結或改變WHERE子句中的子句的關鍵字,也稱為邏輯操作符。

  • AND操作符:
    SELECT prod_id,prod_price,prod_name 
    FROM Products 
    WHERE vend_id='DLL01' AND prod_price <=4;

    輸出:

  此SQL語句檢索供應商DLLO1制造的且價格小於等於4美元的所以商品的編號,價格和名稱。WHERE的兩條子句由AND聯結在一起,同時滿足AND兩邊的條件的行會被檢索出來。這條語句只有兩個過濾條件,多個的話也用AND聯結。

  • OR操作符: 
    SELECT prod_id,prod_price,prod_name 
    FROM Products 
    WHERE vend_id='DLL01' OR prod_price <=4;

    OR操作符表明兩端檢索條件只要有一個滿足就會被檢索出來。

AND和OR也可以一起使用,但是AND優先級比較高,為了是含義更加清楚,可以給條件加上園括號,例如:

SELECT prod_id,prod_price,prod_name 
FROM Products 
WHERE (vend_id='DLL01' OR vend_id='BRS01') AND prod_price >=10;
  • IN操作符:用來指定條件范圍,范圍中的每個條件都可以進行匹配。IN取一組由逗號分開,括在圓括號中的合法值。
    SELECT prod_id,prod_price,prod_name 
    FROM Products 
    WHERE vend_id IN ('DLL01','BRS01');

    輸出:
  • NOT操作符:否定其后所有的條件
    SELECT prod_name 
    FROM Products 
    WHERE NOT vend_id='DLL01';

    所有vend_id不是DLL01的行都被檢索出來

4.通配符

如果不知道你要搜索的特定值,只知道一部分信息,就需要構造通配符搜索模式。

通配符:用來匹配值的一部分的特殊字符

搜索模式:由字面值、通配符或兩者結合構成的搜索條件。

通配符本身實際上是SQL的WHERE子句中的特殊含義的字符,SQL支持幾種通配符,使用LIKE操作符。只能用於文本字段,非文本字段不能使用通配符搜索。

  • %通配符:表示任意字符出現任意次數,可以使0次,1次或多次,不能匹配NULL。例如為了找出所有以詞Fish開頭的產品,可以用
    SELECT prod_id,prod_name
    FROM Products
    WHERE prod_name LIKE 'Fish%';

     

  • _下划線通配符:匹配任意單個字符
  • []方括號通配符:指定一個字符集,它必須匹配指定位置的一個字符。[JM]匹配J或者M,[^JM]匹配不是J和M的字符。

 


免責聲明!

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



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