第六課 用萬用字元進行過濾
回顧與預習:
第五課學習了利用and和or操作符組合成 where子句、如何明確地管理求值順序,如何使用in和not操作符;第六課介紹什麼是萬用字元、如何使用萬用字元以及怎樣使用like操作符進行通配搜尋,以便對資料進行複雜過濾。
6.1、like操作符
!!在搜尋子句中使用萬用字元,必須使用
like
操作符!!萬用字元搜尋只能用於文字字段(串),非文字資料型別字段不能使用萬用字元搜尋。!!
萬用字元(wildcard):用來匹配值的一部分的特殊字元;
搜尋模式(search pattern):由字面值、萬用字元或兩者組合構成的搜尋條件。
謂詞(predicate):操作符作為謂詞時不是操作符---從技術上說,like是謂詞而不是操作符。
6.1.1、百分號(%)萬用字元
在搜尋串中,%表示任何字元出現任意次數;
輸入▼select prod_id, prod_name
from products
where prod_name like'fish%';--- 找出所有以詞fish起頭的產品
萬用字元可在搜尋模式中的任意位置使用,並且可以使用多個萬用字元;
輸入▼select prod_id, prod_name
from products
where prod_namelike '%bean bag%'; ---搜尋模式'%beanbag%'表示匹配任何位置上包含文字beanbag的值,不論它之前或之後出現什麼字元。
%代表搜尋模式中給定位置的0個、1個或多個字元。
!!null
!!萬用字元
%看起來像是可以匹配任何東西,但是無法匹配
null
;子句where prod_name like '%'
不會匹配產品名稱為
null
的行。
6.1.2下劃線(_)萬用字元
它只用於匹配單個字元
輸入▼select prod_id, prod_name
from products
where prod_namelike '__ inch teddy bear'; __代表匹配兩個萬用字元
6.1.3方括號(【】)萬用字元
指定乙個字符集,它必須匹配指定位置(萬用字元的位置)的乙個字元,
輸入▼select cust_contact
from customers
where cust_contactlike '[jm]%'
order by cust_contact;--- 找出所有名字以j或m起頭的聯絡人:語句的where子句中的模式為'[jm]%'。這一搜尋模式使用了兩個不同的萬用字元。[jm]匹配任何以方括號中字母開頭的聯絡人名,它也只能匹配單個字元。因此,任何多於乙個字元的名字都不匹配。[jm]之後的%萬用字元匹配第乙個字元之後的任意數目的字元,返回所需結果。
字首字元^(脫字型大小)來否定
輸入▼select cust_contact
from customers
where cust_contactlike '[^jm]%'
order by cust_contact;
使用not操作符
輸入▼select cust_contact
from customers
where notcust_contact like '[jm]%'
order by cust_contact;
SQL第六課 用萬用字元進行過濾
萬用字元 用來匹配值的一部分的特殊字元。搜尋模式 由字面值,萬用字元或者兩者組合構成的搜尋條件。如 test 這個就是搜尋模式,表示任意以test結尾的字串 萬用字元實際上是sql的wehere子句的特殊含義的字元,sql支援幾種萬用字元。為在搜尋子句中使用萬用字元,必須使用like操作符。likw...
第六課 字型
a.字型系列 font family times new roman times,serif b.字型樣式 font style normal 正常 正常顯示文字 font style italic 斜體 以斜體字顯示的文字 font style oblique 傾斜的文字 文字向一邊傾斜 和斜體非...
第六課 列表
序列是python中最基本的 種資料結構。序列 於儲存 組有序的資料,所有的資料在序列當中都有 個唯 的位置 索引 並且序列中的資料會按照新增的順序來分配索引。資料結構指計算機中資料儲存的 式。python 基礎教程 第二版 對序列的定義為 資料結構。資料結構是通過某種方式 例如對元素進行編號 組織...