当前位置: 首页 > article >正文

MySQL left join联合查询(on)


天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


郎骑竹马来,绕床弄青梅。
同居长干里,两小无嫌猜。
——《长干行》


文章目录

  • left join
    • 1. 简介
    • 2. 建表
    • 3. 填数据
    • 4. 对比查询结果
      • 4.1 原始表记录
      • 4.2 关联条件唯一的联合查询
      • 4.3 关联条件不唯一(左表一对多右表)
      • 4.4 关联条件不唯一(左表多对多右表)


left join

1. 简介

left join 是以左表为主进行查询,在其后使用on或者where进行条件筛选
查询结果可能有几种情况,一对一、一对多、多对多等

2. 建表

用户表

create table tb_user_info(
id int auto_increment ,
name varchar(20),
gender varchar(10),
birthday varchar(255),
primary key(id)
);

生日信息表

create table tb_birthday(
id int auto_increment,
addr varchar(20),
birthday varchar(255),
primary key(id)
);

3. 填数据

用户表数据

insert into tb_user_info (name, gender, birthday) values ("李白", "男", "701-02-28"), ("翠花", "女", "701-02-28"), ("李华", "男", "991-04-29"), ("张叶", "男", "991-04-29"), ("吴思瑞", "女", "1001-12-18");

生日信息表数据

insert into tb_birthday (addr, birthday) values ("长安", "701-02-28"), ("洛阳", "991-04-29");

4. 对比查询结果

4.1 原始表记录

用户数据

select * from tb_user_info;

在这里插入图片描述

生日信息

select * from tb_birthday;

在这里插入图片描述

4.2 关联条件唯一的联合查询

用户表为左表,生日表为右表,关联条件为id

select * from tb_user_info u left join tb_birthday b on u.id = b.id;

以左表为主,关联键为id,关联键为唯一,u表记录有5条,b表记录有2条,故b表有三条关联不上
b表字段有三条空字段
在这里插入图片描述

4.3 关联条件不唯一(左表一对多右表)

生日表为左表,用户表为右表,关联条件为生日birthday

select * from tb_birthday b left join tb_user_info u on b.birthday = u.birthday;

以左表为主,关联键为birthday,关联键不唯一,会产生一对多或多对一的情况
左表生日一条数据可以满足右表用户表多个用户,故左表会重复,并完整将右表满足左表条件的数据列举出来
在这里插入图片描述

4.4 关联条件不唯一(左表多对多右表)

用户表为左表,生日表为右表,关联条件为生日birthday

select * from tb_user_info u left join tb_birthday b on u.birthday = b.birthday;

以左表为主,关联键为birthday,关联键不唯一,会产生一对多或多对多的情况
左表用户一条数据可以满足右表生日表中的多个数据,右表生日一条数据也可以满足多个用户表数据,故左表会重复,右表也会重复
在这里插入图片描述


感谢阅读,祝君暴富!


版权声明:

  • 作者:寒山李白
  • 博客地址:https://hanshan.blog.csdn.net/
  • 版权:本作品采用《创作共享许可证》进行许可,根据该许可授权的内容可在符合本许可证条款的前提下自由使用、、修改和创作衍生作品。

版权许可介绍:
本文采用CC BY-NC-SA许可证
此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。

更多信息请访问以下网址查看:
版权官网 https://creativecommons.org/licenses/by-nc-sa/4.0/
中文翻译 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans



http://www.kler.cn/a/511796.html

相关文章:

  • 消息队列篇--原理篇--RocketMQ(NameServer,Broker,单机上每秒处理数百万条消息性能)
  • 内存故障原因与诊断(Reasons and Diagnosis of Memory Failure)
  • CamemBERT:一款出色的法语语言模型
  • AI守护煤矿安全生产:基于视频智能的煤矿管理系统架构全解析
  • 【蜂巢——方向,数学】
  • Spark常见面试题-部分待更新
  • 用公网服务器实现内网穿透
  • WPF 实现可视化操作数据库的程序全解析
  • 【MySQL篇】使用mysqldump导入报错Unknown collation: ‘utf8mb4_0900_ai_ci‘的问题解决
  • excel实用工具
  • 易答题PHP通用工资条成绩单自动排版打印工具V1.0
  • 大模型GUI系列论文阅读 DAY2:《ScreenAgent:一种基于视觉语言模型的计算机控制代理》
  • CycleGAN - CycleGAN网络:无监督图像到图像转换的生成对抗网络
  • C# ComboBox 控件属性
  • 接口自动化测试
  • YUM部署MySQL数据库
  • 抽象设计如何提升用户体验?
  • MySQL 默认最大连接数是多少?
  • k8s pod 中通过service account 访问API Server
  • Android 13/14 关键宏导致系统无声
  • Spring Boot 启动流程解析及重点源码
  • AI监管新思路:从规模导向迈向全面框架
  • 第7章:Python TDD测试Franc对象乘法功能
  • SQL刷题快速入门(三)
  • AI时代的前端主流业务应用发展趋势
  • 使用 HTML 开发 Portal 页全解析