MySQL常用方法

1、mysql把两个查询的结果合并为一个结果

一、表的加法:

需保留重复行-------select 查询结果
from 从哪张表查询
union all
select 查询结果
from 从哪张表查询

在这里插入图片描述

不需要保留重复行----------select 查询结果

from 从哪张表查询
   union
select 查询结果
from 从哪张表查询

二、表的联结:

表的联结分为:交叉联结(cross join)、内联结(inner join)、左联结(left join)、右联结(right
join)、全联结(full join);内联结、左联结、右联结这3种是较常用的联结方法。

1、交叉联结(cross join)

将表的每一行与另一个表的每一行联结在一起,行数是两个表行数的乘积;不常用,结果行数太多。

2、内联结(inner join)

查找出同时存在于两张表的数据。
在这里插入图片描述

select....
from 表1 as a 
inner join 表2 as b
on a.列名=b.列名;

3、左联结(left join)

将左侧的表作为主表,主表中的数据全部读取出来,右边的表只选取与主表有相同列的表。

select....
from 表1 as a 
left join 表2 as b
on a.列名=b.列名;

在这里插入图片描述
在左联结基础上去掉两表共同的部分

select....
from 表1 as a 
left join 表2 as b
on a.列名=b.列名
where b.列名 is null

在这里插入图片描述

4、右联结(right join)

将右表作为主表,主表中的数据全部读取出来,左边的表只选取与主表有相同列的表。

select....
from 表1 as a 
right join 表2 as b
on a.列名=b.列名;

在这里插入图片描述
在右联结基础上去掉两表共同的部分
在这里插入图片描述

5、全联结(full join)

返回左表和右表中所有的行,当某行与另一表中有匹配的行,两行会进行合并,当某行与另一表中无匹配行,另一表对应的行会填充成空值;mysql不支持全联结。

在这里插入图片描述

三、case表达式

使用case表达式可以帮助处理复杂的查询问题,相当于一个条件判断的函数,判断每一行是不是满足某一条件。
在这里插入图片描述

注意事项:

1)else可以省略不写,默认为else为空值,最好不省略;

2)end不可以省略。

2、如何使用

当有多种情况需要条件判断时使用,可以用于sql语句的任意语句中。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值