【SQL实用技巧】-- join系列

Join系列-Inner,Left,Right

数据准备

create table all_users(
    id int comment '用户id',
    name VARCHAR(20) comment '用户姓名',
    sex VARCHAR(20)  comment '性别',
    age int comment '年龄'
) comment '银行用户信息表';
insert into all_users values
(1,'张三','男',20),
(2,'李四','男',29),
(3,'王五','男',21),
(4,'赵六','女',28),
(5,'田七','女',22);
select * from all_users;


create table black_list(
    user_id int comment '用户编号',
    type VARCHAR(20)  comment '风控类型'
)comment '银行黑名单信息表';
insert into black_list values
(1,'诈骗'),
(2,'逾期'),
(3,'套现');
select * from black_list;
Inner Join

得到两个表的公共部分

查询黑名单用户
-- 写法一
select *
from all_users a
inner join black_list b
on a.id=b.user_id;
-- 写法二,省略inner
select *
from all_users a
join black_list b
on a.id=b.user_id;
-- 写法三
select *
from all_users a ,black_list b
where a.id=b.user_id;
Left Join
使用Left Join判断是否在黑名单中
select a.*,
        if(b.user_id is not null, 'YES', 'NO') `黑名单用户`
from all_users a
left join black_list b
on a.id = b.user_id;
Right Join

上述问题,使用Right Join再做一遍

select b.*,
        if(a.user_id is not null, 'YES', 'NO') flag
from black_list a
right join all_users b
on a.user_id = b.id;

左连接和右连接区别不大,掌握好Left Join 即可。

相关推荐

  1. SQL实用技巧】-- join系列

    2024-03-12 01:06:03       20 阅读
  2. <span style='color:red;'>sql</span> <span style='color:red;'>join</span>

    sql join

    2024-03-12 01:06:03      19 阅读
  3. SQL中的left join和right join及具体实例

    2024-03-12 01:06:03       33 阅读
  4. SQL RIGHT JOIN 详解

    2024-03-12 01:06:03       7 阅读
  5. SQL中的INNER JOIN与笛卡尔积:区别与实例详解

    2024-03-12 01:06:03       34 阅读
  6. spark sqljoin调优

    2024-03-12 01:06:03       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 01:06:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 01:06:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 01:06:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 01:06:03       18 阅读

热门阅读

  1. Oracle 12c dataguard查看主备库同步情况的新变化

    2024-03-12 01:06:03       16 阅读
  2. C#求最大公约数: 欧几里得算法 vs 辗转相除法

    2024-03-12 01:06:03       20 阅读
  3. 如何在Ubuntu上部署最新的Google Chrome和ChromeDriver

    2024-03-12 01:06:03       24 阅读
  4. c++基础学习第四天(内存分区,引用)

    2024-03-12 01:06:03       20 阅读
  5. 010-$nextTick

    2024-03-12 01:06:03       19 阅读
  6. 浏览器内核小知识

    2024-03-12 01:06:03       19 阅读
  7. Linux报错排查-安装PHP的remi库报错

    2024-03-12 01:06:03       21 阅读
  8. 设计模式-适配器模式

    2024-03-12 01:06:03       27 阅读
  9. 热销商品-爬虫销量信息

    2024-03-12 01:06:03       19 阅读