数据库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的字符。
?
轉載于:https://www.cnblogs.com/prettysmc/p/5561415.html
總結
以上是生活随笔為你收集整理的数据库SQL语句学习笔记(4)-过滤数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【网络流】网络流小总结
- 下一篇: 使用MiniProfiler跟踪MVC