mysql left join、right join、inner join、union、union all使用以及图解

左外连接:left join

sql语法:LEFT JOIN = LEFT OUTER JOIN

首先需要创建两张表做测试,表数据如下所示

table 1 表:在这里插入图片描述
table2 表:在这里插入图片描述
查询sql:

select * from table1 a LEFT JOIN table2 b on a.id=b.id 

在这里插入图片描述
总结:
在这里插入图片描述
查询sql:

select a.id as aid, b.id as bid from table1 a LEFT JOIN table2 b on a.id=b.id where b.id is null 

在这里插入图片描述
在这里插入图片描述

右外连接:right join

sql语法:RIGHT JOIN = RIGHT OUTER JOIN

查询sql:

select * from table1 a RIGHT JOIN table2 b on a.id=b.id 

在这里插入图片描述
总结:

在这里插入图片描述
查询sql:

select a.id as aid, b.id as bid from table1 a RIGHT JOIN table2 b on a.id=b.id where a.id is null 

在这里插入图片描述
在这里插入图片描述

内连接:inner join

查询sql:

select a.id as aid, b.id as bid from table1 a INNER JOIN table2 b on a.id=b.id

在这里插入图片描述
在这里插入图片描述

联合查询:union 和 union all

union:用来聚合两个查询结果,并去除重复数据
union all:聚合查询结果,不去重

select * from table1 UNION select * from table2

在这里插入图片描述

select * from table1 UNION ALL select * from table2

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十八章 Swing程序设计

Swing用于开发桌面窗体程序,是JDK的第二代GUI框架,其功能比JDK第一代GUI框架AWT更为强大、性能更加优良。但因为Swing技术推出时间太早,其性能、开发效率等不及一些其他流行技术,所以目前市场上大多数桌面窗体程序都不是由Java开发…

redis stream学习总结

文章目录streamStream基本概念消息id消息内容增删查改消息生产添加消息 xadd查看消息长度 xlen限制stream最大长度1.xadd 中添加**maxlen**:2.xtrim查询消息 xrange正向排序:消费id从小到大排反向查询:消费id从大到小排删除消息消息消费独立消费 xread消…

常用的限流算法学习

常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应…

基于rocketMq秒杀系统demo

基于RocketMQ设计秒杀。 要求: 1. 秒杀商品LagouPhone,数量100个。 2. 秒杀商品不能超卖。 3. 抢购链接隐藏 4. NginxRedisRocketMQTomcatMySQL 实现 接口说明:https://www.liuchengtu.com/swdt/#R9f978d0d00ef9be99f0…

基于Curator实现dubbo服务自动注册发现

文章目录概念基于ServiceDiscovery实现服务自动注册和发现Service:服务基本信息InstanceDetails:封装实例用过来保存到zk中ServiceProvider:服务提供者ServiceConsumer:服务消费者运行基于ServiceDiscovery、ServiceCache实现服务自动注册和发现Registry…

jdk、cglib动态代理代码示例

文章目录jdk动态代理实现步骤代码示例新建一个接口新建一个接口的实现类新建一个代理类调用测试cglib动态代理实现实现步骤创建一个实现类新建一个代理类调用测试jdk动态代理 实现步骤 新建一个接口新建一个接口的实现类新建一个代理类,实现InvocationHandler接口…

Netty 客户端服务器端通信 demo

服务端 package com.demo.rpc.netty;import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.channel.socket.nio.NioSocketC…

Solr实战篇

1.在MySQL数据中建立lagou_db数据库, 将position.sql中的数据导入到mysql 数据中。 2.使用Solr的DIH 将mysql中的数据导入到Solr中。 3.使用SpringBoot 访问Solr 使用positionName 字段检索职位信息 如果检索到的职位信息不够5条 则需要 启用positionAdvantage 查找 美女多、…

Docker 部署java服务

作业描述: (1)Hot是应用程序(springboot),打成jar包:docker-demo-1.0-SNAPSHOT.jar (2)利用dockerfile将docker-demo-1.0-SNAPSHOT.jar构建成镜像docker-demo Dockerfile-docker-demo&#xf…

单向链表 双向链表 java代码实现

文章目录单向链表代码实现单元测试控制台打印头插法尾插法双向链表代码实现单元测试控制台打印头插法尾插法单向链表 代码实现 package csdn.dreamzuora.list;/*** author: weijie* Date: 2020/10/15 15:28* Description:*/ public class SingleNode {int id;String name…

栈、队列 java代码实现

文章目录普通队列数组实现java代码实现单元测试控制台打印链表实现java代码实现单元测试控制台打印LinkedList队列使用优先队列:PriorityQueue使用栈数组实现java代码实现单元测试控制台打印链表实现java代码实现单元测试控制台打印普通队列 概念:先入先…

ElasticSearch入门篇

文章目录控制台RESTFULL操作REST风格说明基于REST命令说明:es支持的数据类型核心数据类型ik分词器使用ik_smart最少切分ik_max_word最细粒度索引操作索引库创建创建文档方式指定索引类型(以后这种方式会被弃用)不指定索引类型利用默认的_doc类型更新文档方式一&…

【待完成】并发包下常用到线程工具类汇总

文章目录并发容器BlockingQueueArrayBlockingQueueLinkedBlockingQueuePriorityBlockingDelayQueueSynchronousQueueBlockingDequeCopyOnWriteCopyOnWriteArrayListCopyOnWriteArraySetConcurrentLinkedQueue/DequeConcurrentHashMapConcurrentSkipListMap/Set同步工具类AQS实现…

爬虫中如何获取页面编码类型

获取页面的编码格式的三种方式: 根据Response中的header获取编码格式根据页面标签中的meta获取根据页面内容识别自动识别出编码格式,经过测试准确率比较高 三种方式可以结合使用,由于inputStream不能够被复用,但是inputStrem没有…

Spark集群部署与架构

在大数据时代,处理海量数据需要分布式计算框架。Apache Spark作为一种强大的大数据处理工具,可以在集群中高效运行,处理数十TB甚至PB级别的数据。本文将介绍如何构建和管理Spark集群,以满足大规模数据处理的需求。 Spark集群架构…

java核心技术-多线程并发设计原理以及常见面试题

文章目录写在前面多线程回顾Thread和Runnable面试官:为什么我们在项目中推荐使用使用Runnable方法而不用继承Thread?面试官:Callable为什么可以带返回值,你知道底层原理?面试题:线程了解?给我讲…

java核心技术-jvm基础知识

文章目录JVM回顾JVM、JRE、JDK之间关系?Java程序执行过程?面试官:解释执行和JIT(及时编译)两种执行方式有什么区别?java虚拟机内存管理jvm整体架构JVM只是定义内存划分规范等,具体实现依赖不同虚拟机实现,如…

多线程场景下利用ThreadLocal是线程安全?

文章目录背景多线程场景测试代码结论背景 ThreadLocal原理以及基本概念这里我就不介绍了,这里我们主要关注ThreadLocal是否是线程安全吗?其实如果我们知道ThreadLocal原理我们肯定知道它是线程安全的,但是我在开发的时候不放心做了个测试&am…

深入剖析线程池基本原理以及常见面试题详解

文章目录面试官:能给我讲讲线程池的实现原理?线程池类继承关系ThreadPoolExecutor核心数据结构面试官:给我讲讲线程池的有哪些参数?面试官:如何优雅的关闭线程?线程的生命周期面试官:线程池哪五…

设计模式七大设计原则

文章目录设计模式七大设计原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则-最少知道原则单一职责原则合成复用原则设计模式 面向对象的三个基本特征: 继承封装多态 设计模式体现了代码的耦合性、内聚性、可维护性、可扩展性、重用性、灵活性。 代码…