MySQL数据库高级SQL语句(第二部分)

MySQL数据库高级SQL语句

| | 连接符

如果sql_mode开启开启了PIPES_AS_CONCAT,"||"视为字符串的连接操作符而非或运算符,和字符串的拼接函数Concat相类似,这和Oracle数据库使用方法一样的

 select Region || ' ' || Name from city where Region = 'north';

GROUP BY

对GROUP BY后面的栏位的查询结果进行汇总分组,通常是结合聚合函数一起使用的
GROUP BY 有一个原则,就是 SELECT 后面的所有列中,没有使用聚合函数的列,必须出现在GEOUP EY后面。
语法:SELECT “栏位1”,SUM(“栏位2”) FROM “表名” GROUP BY “栏位1”;

select Store_Name,sum(Sales) from tickets group by Store_Name;
select Store_Name,sum(Sales) from tickets group by Store_Name order by Sales desc;

HAVING

用来过滤由GROUP BY语句返回的记录集,通常与GROUP BY语句联合使用
HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。如果被SELECT的只有函数栏,那就不需要GROUP BY子句。
语法:SELECT “栏位1”,SUM(“栏位2”) FROM “表格名” GROUP BY “栏位1” HAVING(函数条件);

select Store_Name,sum(Sales) from tickets group by Store_Name having sum(Sales) >1000;

别名

栏位别名 表格别名
语法:SELECT “表格别名”.“栏位1” [AS] “栏位别名” FROM “表格名” [AS] “表格别名”;

select T.Store_Name as N,Date as D from tickets as T group by N;
select T.Store_Name as N,sum(Sales),Date as D from tickets as T group by N;

子查询

连接表格,在 WHERE 子句或 HAVI

猜你喜欢

转载自blog.csdn.net/weixin_51614581/article/details/113949040
今日推荐