zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    js 将图片连接转换称base64格式
    mysql性能优化-慢查询分析、优化索引和配置
    MySQL集群(三)mysql-proxy搭建负载均衡与读写分离
    MySQL集群(二)之主主复制
    MySQL集群(一)之主从复制
    JavaSE(八)之Map总结
    JDBC(二)之JDBC处理CLOB和BLOB及事务与数据库元数据获取
    JavaSE(八)之Collection总结
    JavaSE集合(八)之Map
    JavaSE(八)之集合练习一
  • 原文地址:https://www.cnblogs.com/mufc/p/10558414.html
Copyright © 2011-2022 走看看