mysql连接查询group by_mysql连接查询

本文探讨了SQL左连接、右连接、交叉连接及完整外部连接的区别,重点讲解了GROUP BY与IF函数的应用,通过实例说明如何使用SUM(IF)计算特定条件的出现次数。

sql知识

一,两表外连接查询

1,A表和B表左连接

先将左表(A)数据查出,然后根据on后面的条件,将右表中凡是id与左表id相等的记录都查出来,与匹配的左表记录依次排成一行或多行,若无匹配的记录,则显示null。

2,A表和B表右连接

先将右表(B)数据查出,然后根据on后面的条件,将左表中凡是id与右表id相等的记录都查出来,与匹配的左表记录依次排成一行或多行,若无匹配的记录,则显示null3,A表和B表交叉连接

没有用where子句的交叉连接将产生连接所涉及的笛卡尔积第一个表的行数乘以第二个表的行数等于笛卡尔积和结果集的大小。 Cross join 后面不能跟on 只能用where 。但是如果带返回或显示的是匹配的行数。不带条件where。

这里还有一种交叉连接表示方法

4,A表和B表完整外部连接查询(mysql 目前不支持)

二,group by if count sum

group by 将查询的结果按列或者多列的值分组,值相等的为一组

if if(表达式,value1,value2) 表达式成立时值是value1 否则是value2

count 计数

sum 求和

某表ps内容如下

希望求到如下结果

sum(if(SF="s",1,0)) 可以求得s的出现次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值