本篇文章主要講述的是mysql select句法的簡單分析,我們大家都知道mysql數據庫是我們大家經常使用的數據庫,其相關的應用也是備受關注的,那么以下的文章主要是對mysql select句法的簡單分析。
1、select語句可以用回車分隔
$sql="select?*?from?article?where?id=1" 和 $sql="select?*?from?article where?id=1",都可以得到正確的結果,但有時分開寫或許能更明了一點,特別是當sql語句比較長時
2、批量查詢數據
可以用in來實現
$sql="select?*?from?article?where?id?in(1,3,5)"
3、使用concat連接查詢的結果
$sql="select?concat(id,"-",con)?as?res?from?article?where?id=1"
返回”1-article content”
4、使用locate
用法:
select?locate("hello","hello?baby");
存在返回1,不存在返回0
5、使用group by
group by 是把相同的結果編為一組
exam:$sql="select?city?,count(*)?from?customer?group?by?city";
這句話的意思就是從customer表里列出所有不重復的城市,及其數量(有點類似distinct)
group by 經常與AVG(),MIN(),MAX(),SUM(),COUNT()一起使用
6、使用having
having 允許有條件地聚合數據為組
$sql="select?city,count(*),min(birth_day)?from?customer group?by?city?having?count(*)>10";
這句話是先按city歸組,然后找出city地數量大于10的城市
btw:使用group by + having 速度有點慢
同時having子句包含的表達式必須在之前出現過
7、組合子句
where、group by、having、order by(如果這四個都要使用的話,一般按這個順序排列)
8、使用distinct
distinct是去掉重復值用的
$sql="select?distinct?city?from?customer?order?by?id?desc";
這句話的意思就是從customer表中查詢所有的不重復的city
9、使用limit
如果要顯示某條記錄之后的所有記錄
$sql="select?*?from?article?limit?100,-1";
10、多表查詢
$sql="select?user_name?from?user?u,member?m where?u.id=m.id?and m.reg_date>=2015-08-13 order?by?u.id?desc"
注意:如果user和member兩個標同時有user_name字段,會出現mysql錯誤(因為mysql不知道你到底要查詢哪個表里的user_name),必須指明是哪個表的;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END