where 子句,通常用于在找尋資料的時候做一個條件篩選,得到滿足條件的記錄行數;
注意:新增(insert)不能做篩選;
where 子句中常見的運算子有如下幾種:
1. 比較運算子:> >= < <= != =
2. 算術運算子:+ - * /
3. 邏輯運算子:&(邏輯與——語法:and);|(邏輯或——語法:or);!(邏輯非——語法:not).

between and 子句,需要兩個引數(范圍的起始值與終止值)通常用于做范圍查詢;

is null 關鍵字,用于判斷欄位的值是否為空值;

in 關鍵字,直接指定一個包含具體值的串列,或者通過子查詢陳述句回傳一個值串列,值串列中包含所有可能的值,當運算式與值串列中的任意一個值匹配成功時,回傳相應記錄.

like 關鍵字,可用于做模糊查詢,支持百分號(%)和下劃線(_)通配符;
% 用來代替0-n個字符;- 只可代替1個字符(有且只有一個);

order by 子句,通過在select陳述句中加入order by子句來控制選擇行的顯示順序;order by子句可以按照升序(默認為 asc),降序(desc)來排列各行;

having 關鍵字,通常用于對分組后的資料進行過濾;
關鍵字 where 與 having 的區別:
兩者都可以用來過濾資料,并且關鍵字having支持關鍵字where的所有運算子和語法;
1. 在一般情況下,關鍵字where用于過濾資料行,而關鍵字having用于過濾分組;
2. where查詢條件中不可以使用聚合函式,而having查詢條件中可以使用聚合函式;
3. 關鍵字where在資料分組前進行過濾,而關鍵字having在資料分組后進行過濾;
4. 關鍵字where是針對資料庫檔案進行過濾的,而關鍵字having則是針對查詢結果進行過濾的;也就是說,關鍵字where是根據資料表中的欄位直接進行過濾的,而關鍵字having則是根據前面已經查詢出的欄位進行過濾的;
5. where查詢條件中不可以使用欄位別名,而having查詢條件中可以使用欄位別名.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518783.html
標籤:MySQL
