標籤:
a、條件判斷where
select * from 表 where id > 1 and name != ‘alex‘ and num = 12;select * from 表 where id between 5 and 16;select * from 表 where id in (11,22,33)select * from 表 where id not in (11,22,33)select * from 表 where id in (select nid from 表)
b、萬用字元like(模糊尋找)
select * from 表 where name like ‘liu%‘ # liu開頭的所有(多個字串)select * from 表 where name like ‘liu_‘ #liu開頭的所有(一個字元)select * from 表 where name like ‘%liu_‘select * from 表 where name like ‘_liu_‘select * from 表 where name like ‘%liu%‘select * from 表 where name like ‘_liu%‘
c、限制limit(分頁)
select * from 表 limit 5; - 前5行select * from 表 limit 4,5; - 從第4行開始的5行select * from 表 limit 5 offset 4 - 從第4行開始的5行
d、排序asc,desc
select * from 表 order by 列 asc - 根據 “列” 從小到大排列select * from 表 order by 列 desc - 根據 “列” 從大到小排列select * from 表 order by 列1 desc,列2 asc - 根據 “列1” 從大到小排列,如果相同則按列2從小到大排序
e、分組group by
select num from 表 group by numselect num,nid from 表 group by num,nidselect num,nid from 表 where nid > 10 group by num,nid order by nid descselect num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nidselect num from 表 group by num having max(id) > 10 特別的:group by 必須在where之後,order by之前
f、組合union、union all
組合,自動處理重合(去掉相同) select nickname from A union select name from B 組合,不處理重合(所有的都顯示) select nickname from A union all select name from B
g、連表join
無對應關係則不顯示 select A.num, A.name, B.name from A,B Where A.nid = B.nid 無對應關係則不顯示 select A.num, A.name, B.name from A inner join B on A.nid = B.nid A表所有顯示,如果B中無對應關係,則值為null select A.num, A.name, B.name from A left join B on A.nid = B.nid B表所有顯示,如果B中無對應關係,則值為null select A.num, A.name, B.name from A right join B on A.nid=B.nid
10.20 MYSQL尋找總結