過濾語句是在where語句內進行的,和操作符and|or|in|not|配合使用。
- 關鍵字可以將表中不同的過濾條件進行組合,篩選出我們需要的資料。
select prod_id, prod_price, prod_name
from products
where vend_id =
1003
and prod_price >=10;
- 當需要or與and關鍵字配合使用時,直譯器會先對and執行,之後再執行or,所以需要用()注意順序,如果沒有括號,直譯器會將第2第3條命令鏈結在一起優先搜尋,並不能保證1003id的檢索**大於10
where (vend_id =
1003
or vend_id =
1004)and prod_price >=10;
-in用來指定搜尋的條件,範圍中每個條件都可匹配,與or有相似之處,in的好處是搜尋快於or
-not可以與in配合使用
-
like關鍵字對未知進行過濾,同時有區別於regexp正則表達搜尋。
- 關鍵字like與%配合使用,%表示雙任意,任意字元出現任意次數,使用的位置也是任意,但是需要注意null值不會通過%搜尋得到例如:
where prod_name =
'%';不會得到null的返回
- 關鍵字like與_配合使用,_表示單個字元匹配
- 萬用字元使用技巧:
1) 在搜尋模式的開頭謹慎使用,這樣會搜尋的很慢。
2) 不要過度使用萬用字元,有替代時盡量使用替代。
- 什麼是正則表達?
正規表示式的處理物件是字串,具有:
(1)匹配功能; 是第9節主要需要了解的功能
(2)切割功能;
(3)替換功能;
匹配功能regexp與like的不同在於:like關鍵字在匹配時與列中儲存的整個元素比較,不能在列中比較元素的某一部分是否相似。like關鍵字搭配萬用字元進行搜尋。
regexp在搜尋時將搜尋條件當作條件,這與like沒什麼不同,但是regexp可以匹配原則是列中元素的一部分,而like是與整個元素做比較。
但是regexp是可以與整列進行比較的,需要使用定位符^與%宣告。
- 匹配字元
(1)匹配特殊字元:使用\\為前導,表示轉譯,
(2)匹配多個字元
(3)多個字元
- 什麼是計算字段?
這是一種手段,用來提取儲存在資料庫中的資訊,建立計算欄位在select關鍵字中執行
- 拼接字段
函式concat()as
- 執行算數運算 +-
*%
sql語句有很強的移植性,但是mysql中的函式卻沒有
mysql必知必會 mysql必知必會(四)
十四 理解子查詢 1 通過子查詢過濾 這本書在所有的章節都關連到了資料庫表,訂單資料是儲存在兩個表中,orders表儲存著 訂單號碼 顧客id和訂單日期。個人的訂單列表關連著orderitems表,訂單表沒有儲存顧客資訊,它只是儲存著顧客id,這實際的顧客資訊是儲存在customers表中。現在假設...
《MySQL必知必會》學習筆記1 1 7章
命令結束 或 g 用 help 或 h 獲取幫助,help select 獲取 show 資料庫 顯示資料庫 use 資料庫 選擇資料庫 show 資料表 顯示資料表 show columns from 資料表 describe 資料表 顯示資料表的列資訊 select 列名 列名,列名 from ...
《MySQL必知必會》1 7章 學習筆記
資料庫 database 儲存有組織的資料的容器 通常是乙個文 件或一組檔案 表 table 某種特定型別資料的結構化清單。模式 schema 關於資料庫和表的布局及特性的資訊。可以理解成是資料庫的同義詞。行 row 表中的乙個記錄。列 column 表中的乙個字段。所有表都是由乙個或多個列組成的。...