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

 

转载于:https://www.cnblogs.com/tongs/p/7422400.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值