mysql两个命令_mysql命令(二)

一、union操作符

select * from 表的名字 union[ All | distinct ] select * from 表的名字

union操作符用于连接两个以上的 select 语句的结果集合到一个结果集合中,其中 all 和 distinct 是可选的,all 表示获得所有的数据,包括重复的数据,而distinct 表示要出去重复的数据,union操作符默认的返回的数据就是出去重复的数据,所以 distinct 写不写都无所谓;

使用 union 进行查询多个表的话,如果使用 * 的话,查出来的字段会以第一个表的字段为准

二、mysql 连接的使用

mysql的连接主要是用于多表间的查询,分为三种:

inner join(内连接,也叫等值连接):获取两个表中字段匹配关系的记录;

left join(左连接):获取左表的所有记录,即使右边没有对应匹配的记录;

right join(右连接):获取右边的所有记录,即使左表没有对应匹配的记录;

(1)、inner join

select a.name,a.age,b.phone from 表的名字 a inner join 表的名字 b where a.sex = b.sex;

select a.name,a.age,b.phone from 表的名字 a inner join 表的名字 b on a.sex = b.sex; // 单个select 只能用 where 不能用 on

上边命令是查询 a 表中性别等于 b 表中性别的数据,并展示 a 表中性别,年龄和 b 表中手机号的字段; 执行的逻辑是先拿 a 表中的每一个数据和 b 表的某一条数据进行对比,只要相等就拿出这个数据;

(2)、left join

select a.name,a.age,b.phone from 表的名字 a left join 表的名字 b where a.age = b.age;

left join 命令的作用和 inner join 命令的不同之处在于,除了展示两个表中满足条件的数据之外,左表表不满足的数据也会展示出来;

(3)、right join

select  a.name,a.age,b.phone from 表的名字 a right join 表的名字 b where a.age = b.age;

同理,right join 和 inner join 的不同之处就是,除了展示两个表中满足条件的数据之外,右边表不满足条件的数据也会展示出来;

三、null 处理

在 mysql 中,我们有时候会进行数据是否为 null 的处理,但是我们用传统的方式用  ‘==null’ 以及 ‘!=null’ 来判断数据是否为 null,因此,mysql 提供三大运算符:

(1)、is null:当列的值是 null,则返回 true;

(2)、is not null:当列的值如果不是 null ,则返回true;

(3)、<=>:比较运算符,但是不用于等号‘=’, 比较的两个值如果都是 null 的话,则返回 true;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值