今天给大家介绍MySQL查询的一些高级用法,包括模糊查询,采用聚合函数来进行查询,今天我们将通过具体的例子来为大家介绍这几种查询方法。
(一)模糊查询
-1、-like:
2、isnull
mysql>selectnameas"姓名"fromscorewherenameisnull;
Emptyset
3、between
4、in
(二)聚合函数
1、sum()
2、avg()
3.max()min()
4.count()
(三)分组查询:
分组查询总结:
1.WHERE子句从数据源中去掉不符合其搜索条件的数据
2.GROUPBY子句搜集数据行到各个组中
3.统计函数为各个组计算统计值
4.HAVING子句去掉不符合其组搜索条件的各组数据行
5使用GROUPBY时,select后面出现的内容要么为聚合函数,要么为groupby后面出现的内容
(四)多表链接查询:
1.内连接:
(1)用innerjoin但这种方法不常用常用第二种;
(2)fromwhere
2.外连接:
(1)左连接,返回左表的所有数据以及右表对应的数据。Leftjoin
(2)右连接,返回右表的所有数据以及左表相对应的数据。Rightjoin
(五)子查询
在某些特定的业务需求下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候,就要用到子查询。
用于子查询的关键字主要包括in、notin、=、!=、exists、notexists……
1.比较运算符><=!=
2.子查询in
3.Exists
(1)mysql>selectstarnamefromstarwhereexists(select*fromstarwherestarid=13);
Emptyset
(2)mysql>selectstarnamefromstarwhereexists(select*fromstarwherestarid<13);
Exists()括号内为真则前面的语句执行,为假则前面的语句不执行;EXISTS也可以作为WHERE语句的子查询,但一般都能用IN子查询替换。
4.notexists
与exists刚好是反的。
5.mysql>selectsum(avg_score)from(selectavg(score)asavg_scorefromscoregroupbyname)ast1;
mysql的高级查询还有好多好多,大家只要掌握其中的几点,便也够用。
¥29.90
¥48.00¥180.00
¥199.00
¥199.00
¥798.00
¥48.00¥180.00