在《大聊mysql查詢(1)》中已經介紹了,簡單查詢、條件查詢、分組查詢、分組函式。
)
現在,再介紹查詢的接下來的幾個內容,首先我還是把查詢順序圖放在這裡:
按照薪水由小到大排序(系統預設由小到大) select * from emp order by sal;
注: select * from emp order by sal asc; (這是系統預設的公升序排列方式,所以可以省略asc)
select * from emp order by sal desc; (降序排列方式)
取得job為manager的員工,按照薪水由小到大排序 select * from emp where job='manager' order by sal;
注:如果包含where語句order by必須放到where後面,如果沒有where語句order by放到表的後面。其實也就是說,先按照一定的條件進行篩選,然後將結果按照公升序或降序顯示出來。
按照job和薪水公升序 select * from emp order by job,sal;
注:其實也就是說,先按照job的公升序排列,在此基礎上,如果有多條記錄的job相同,則再把同一種的job按照sal的公升序排列。
簡單說一下這一部分的內容,(這部分內容,主要是摘錄 power node 那個老師講的)
lower
轉換小寫
upper
轉換大寫
substr
取子串(substr(被擷取的字串
,起始下標
,擷取的長度
))length
取長度trim
去空格str_to_date
將字串轉換成日期
date_format
格式化日期
format
設定千分位
round
四捨五入
rand()
生成隨機數
ifnull
可以將null轉換成乙個具體值
選幾個來說一下
a) substr 查詢姓名以m開頭所有的員工 select * from emp where substr(ename, 1, 1)=upper('m');
b) trim 取得工作崗位為manager的所有員工 select * from emp where job=trim(upper('manager '));
注:trim會去首尾空格,不會去除中間的空格
c) str_to_date 查詢1981-02-20入職的員工(第二種方法,將字串轉換成date型別)
select * from emp where hiredate=str_to_date('1981-02-20','%y-%m-%d');
select * from emp where hiredate=str_to_date('02-20-1981','%m-%d-%y');
d) date_format 查詢1981-02-20以後入職的員工,將入職日期格式化成yyyy-mm-dd hh:mm:ss
select empno, ename, date_format(hiredate, '%y-%m-%d %h:%i:%s') as hiredate from emp;
e) format 查詢員工薪水加入千分位和保留兩位小數 select empno, ename, format(sal, 2) from emp;
f) case … when … then …..else …end 如果job為managerg薪水**10%,如果job為salesman工資**50%select empno, ename, job, sal, case job when 'manager' then sal*1.1 when 'salesman'then sal*1.5 end as newsal from emp;
g) ifnull select ifnull(comm,0) from emp; 如果
comm
為null
就替換為
0這個地方我也不說什麼,沒有什麼好說的,多寫幾個關於子查詢的**
子查詢就是巢狀的select語句,可以理解為子查詢是一張表
取得前5條資料 select * from emp limit 5;
從第二條開始取兩條資料 select * from emp limit 1,2;
limit 起始位置 ,長度
算是完了吧,其實沒有太多好寫的,多練練可能比較好!!!!!!!!!!!!!
大聊Python quene佇列
class queue.queue maxsize 0 先入先出 class queue.lifoqueue maxsize 0 後進先出 class queue.priorityqueue maxsize 0 儲存資料時可設定優先順序的佇列 優先順序佇列的建構函式。maxsize是乙個整數,用於設...
聊一聊軟體測試的三大測試方向
軟體測試一般分為手工測試 自動化測試和效能測試。作為一名軟體測試員,最基礎的應該是手工測試,而隨著軟體測試行業的發展,手工測試耗費的精力和時間大,自動化測試成了眾多企業的選擇。然而,難度最大可能就是效能測試,掌握的也比較多,對測試員自身素質也比較高。下面分別來看看以下這些測試 手工測試 大多數測試員...
聊一聊MySQL裡的鎖和MVCC
在乙個高併發的資料庫系統裡,可能會遇到多個事務同一時刻修改某條資料的情況,這樣就產生了資源衝突,解決衝突就需要用到鎖。一 鎖一說到鎖,就可能會聯想到樂觀鎖 悲觀鎖 共享鎖 讀鎖 排他鎖 互斥鎖 寫鎖 行級鎖 表級鎖 等一堆名詞,那它們之間到底有什麼區別和聯絡呢?其實很簡單,樂觀鎖和悲觀鎖是一種加鎖的...