MYSQL的select 学习笔记_mysql数据库教程-查字典教程网
MYSQL的select 学习笔记
MYSQL的select 学习笔记
发布时间:2016-12-29 来源:查字典编辑
摘要:记录一些select的技巧:1、select语句可以用回车分隔$sql="select*fromarticlewhereid=1"和$sql...

记录一些select的技巧:

1、select语句可以用回车分隔

$sql="select*fromarticlewhereid=1"

和$sql="select*fromarticle

whereid=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时

2、批量查询数据

可以用in来实现

$sql="select*fromarticlewhereidin(1,3,5)"

3、使用concat连接查询的结果

$sql="selectconcat(id,"-",con)asresfromarticlewhereid=1"

返回"1-articlecontent"

4、使用locate

用法:selectlocate("hello","hellobaby");返回1

不存在返回0

5、使用groupby

以前一直没怎么搞明groupby和orderby,其实也满简单的,groupby是把相同的结果编为一组

exam:$sql="selectcity,count(*)fromcustomergroupbycity";

这句话的意思就是从customer表里列出所有不重复的城市,及其数量(有点类似distinct)

groupby经常与AVG(),MIN(),MAX(),SUM(),COUNT()一起使用

6、使用having

having允许有条件地聚合数据为组

$sql="selectcity,count(*),min(birth_day)fromcustomer

groupbycityhavingcount(*)>10";

这句话是先按city归组,然后找出city地数量大于10的城市

btw:使用groupby+having速度有点慢

同时having子句包含的表达式必须在之前出现过

7、组合子句

where、groupby、having、orderby(如果这四个都要使用的话,一般按这个顺序排列)

8、使用distinct

distinct是去掉重复值用的

$sql="selectdistinctcityfromcustomerorderbyiddesc";

这句话的意思就是从customer表中查询所有的不重复的city

9、使用limit

如果要显示某条记录之后的所有记录

$sql="select*fromarticlelimit100,-1";

10、多表查询

$sql="selectuser_namefromuseru,memberm

whereu.id=m.idand

m.reg_date>=2006-12-28

orderbyu.iddesc"

注意:如果user和member两个标同时有user_name字段,会出现mysql错误(因为mysql不知道你到底要查询哪个表里的user_name),必须指明是哪个表的;

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新mysql数据库学习
    热门mysql数据库学习
    编程开发子分类