SQL 笔记1,left join,group by,having

Posted 壹品轩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 笔记1,left join,group by,having相关的知识,希望对你有一定的参考价值。

表:XS,XK,CJ

left join 表1 on 表1.字段=表2.字段

group by 分组条件

order by 排序条件 asc正序(小到大),desc倒序

having 跟条件类似where,不过需要在返回集字段中包含该字段

否则会报错:Unknown column ‘c.CJ‘ in ‘having clause‘,未知的列,在having

例:

#查询有不及格的成绩的学生姓名
SELECT 
s.XSMC, c.CJ
FROM cj c
LEFT JOIN xs s ON s.XSDM=c.XSDM
LEFT JOIN xk k ON k.XKDM=c.XKDM
GROUP BY c.XSDM 
HAVING c.CJ <60

 

 

#查询所有学生所有学科的成绩<=60
SELECT
s.XSMC,k.XKMC,c.CJ
FROM xs s,xk k,cj c
WHERE s.XSDM = c.XSDM
AND k.XKDM = c.XKDM
AND c.CJ <= 60


#查询学生总成绩
#ASC正序小到大,DESC倒序大到小
SELECT s.XSMC, SUM(c.CJ)
FROM xs s,xk k,cj c

WHERE s.XSDM = c.XSDM
AND k.XKDM = c.XKDM
GROUP BY c.XSDM
ORDER BY
SUM(c.CJ) ASC

 






















以上是关于SQL 笔记1,left join,group by,having的主要内容,如果未能解决你的问题,请参考以下文章

SQL GROUP BY 与 LEFT JOIN MS SQL Server

如何在 Teradata SQL 中使用 LEFT JOIN 对查询中的非聚合参数进行 GROUP BY?

EF Linq to Sql 多表left join查询并对结果group by分组之后进行count,max等处理

SQL sum()后许多字段要group by不使用group by, 改用left join select 需要的字段。哪个方法好?速度快?

使用 LEFT JOIN 的 MySQL 视图中的问题... GROUP BY

sql查询优化策略