上一篇写了一些基础的sql知识,这里再深挖一些常用的
------------------------------------------------------------------骄傲的分割线--------------------------------------------------------
常用SQL:
1,COUNT函数(测试中,适用于计数于指定查询的行数)
SELECT COUNT(列名) FROM 表名 ---------也可以COUNT(*)代表所有行
如果要重命名计数的行
SELECT COUNT(列名) AS 自定义列名 FROM 表名 --------列名前加DISTINCT代表去除重复行
2,SUM函数(测试中,适用于合计所指定查询列的值)
SELECT SUM(列名) FROM 表名 -------统计该列的数据和
3,Group By函数(测试中,根据一列或多列对结果集进行分组)
SELECT 列名, 聚合函数(列名) FROM 表名 ---------这函数一般是合计函数
WHERE 列名 操作符 值
GROUP BY 列名 -------这个列名要与第一个列名一致,数量也一致
4,Having函数(测试中,通常与GROUP BY语句联合使用,过滤由GROUP BY语句返回的记录集)
SELECT 列名, 函数(列名) FROM 表名
WHERE 列名 操作符 值
GROUP BY 列名
HAVING 聚合函数(列名) 操作符 值 --------这里WHERE就不能代替HAVING
5,Inner Join内连接(测试中,与join相同,交叉捆绑多个表的数据,如果表中有至少一个匹配,则返回行)
SELECT 表A.列名, 表B.列名 FROM 表A --------需要在列前加上对应的表名
INNER JOIN 表B
ON 表A.主键 = 表B.主键
6,Left Join外连接(测试中,从左表那里返回所有的行,即使在右表中没有匹配的行)
SELECT 表A.列名, 表B.列名 FROM 表A
LEFT JOIN 表B
ON 表A.主键 = 表B.主键
其中Right Join与其相反,从右表那里返回所有的行,即使在左表中没有匹配的行
7,Union Join操作符(测试中,适用于合并两个或多个 SELECT 语句的结果集)
多个select语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同。
SELECT 列名 FROM 表A -------默认显示唯一值,需要显示重复的值,用 UNION ALL
UNION
SELECT 列名 FROM 表B