《Mysql入門MYSQL的select 學習筆記》要點:
本文介紹了Mysql入門MYSQL的select 學習筆記,希望對您有用。如果有疑問,可以聯系我們。
記錄一些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?和?order?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>=2006-12-28
order?by?u.id?desc"
注意:如果user和member兩個標同時有user_name字段,會出現mysql錯誤(因為mysql不知道你到底要查詢哪個表里的user_name),必須指明是哪個表的;
歡迎參與《Mysql入門MYSQL的select 學習筆記》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/10475.html