图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross)

转载自 图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross)

Join 连接在日常开发用得比较多,但大家都搞清楚了它们的使用区别吗??一文带你上车~~

内连接 inner join

内连接是基于连接谓词将俩张表(如A和B)的列组合到一起产生新的结果表,在表中存在至少一个匹配时,INNER JOIN 关键字返回行。 

下面是一个简单的使用案例 

以下是运行代码及结果 

左外连接 left join

左外连接Left join关键字会从左表那里返回所有的行,即使是在右表中没有匹配到的行 

下面是一个简单的案例 

下面是测试用例 

右外连接 right join

右外连接关键字Right join会从右表那里返回所有的行,即使是在左表中没有匹配到的行 

下面是一个简单的案例 

下面是运行及其结果 

全连接 full join

全连接的关键字Full join,只要其中某个表中存在匹配,Full join 就会返回行 

下面是一个简单的案例 

以下是运行及结果 

注意一点 mysql中是不支持Full join 的但是orcal等数据库是支持的。 
如果在mysql要使用Full join就会报以下错误 

解决办法:同时使用左连接和右连接 

以下是一个简单的例子

交叉连接 cross join

交叉连接一般使用的比较少,交叉连接又称笛卡尔连接或者叉乘连接,如果,A和B是俩个集合,他们的交叉连接就是A*B 

以下是一个简单的案例 

 

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

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

相关文章

接口、多态

一.接口 1.接口的定义和使用 接口名:和类名一样,首字母大写 public interface 接口名{//接口中的成员,一般写一些抽象方法 } public class 类名 implements 接口名{//复写接口中所有的抽象方法 } 2.接口的成员热点: &#xff0…

基础笔试编程题(jz)

【1】计算某个单词在某文件中出现的次数. // 计算某个单词在某文件中出现的次数. public class WordCounter {private static int counter;private static String path System.getProperty("user.dir") File.separator "src" File.separator "com…

到底什么是 OAuth 2.0

转载自 到底什么是 OAuth 2.0 ? 一文秒懂!- 理解OAuth 2.0OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。本文对OAuth 2.0的设计思路和运行流程,做一个简明…

在eclipse中创建maven项目错误的解决方法:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-qu

当我们在ecipse安装 maven插件后, (how to install maven plugin named m2eclipse) You can install the lastest M2Eclipse release (1.7.0) by using the following update site from within Eclipse: http://download.eclipse.org/technology/m2e/releases 创建…

继承、抽象

继承、抽象 一.继承 1.继承解决的问题:共性抽取 子类中有共性的内容(成员变量、成员方法)抽取到父类中,子类可以直接使用父类非私有的成员。 2.继承的格式 public cLass 父类{//成员变量、构造方法、成员方法 }public class 子…

JDK 5 ~ 10 新特性倾情整理

转载自 JDK 5 ~ 10 新特性倾情整理最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了。为了大家对JDK有一个全面的了解,下面我为…

Java 内存模型 JMM 详解

转载自 Java 内存模型 JMM 详解JMM简介 Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一的保证。(可能在术语上与Java运行时内存分布有歧义,后者指堆、方法区、线程栈等内存…

多种代码块

代码块 1.概念 代码块其实就是一对{ },根据其放的位置不同,它的特性也不同 2.分类 (1)构造代码块 位置:类中方法外 作用:提取构造方法中共性的代码,每次执行构造方法都会执行。 (…

spring boot 入门-使用spring boot构建简单应用

目的&#xff1a;建立一个简单的联系人列表&#xff1b; 使用 spring boot maven 进行构建 【0】文件结构如下&#xff1a; 【1】pom.xml 如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…

object面试题

equals方法 public class Demo {public static void main(String[] args) {String s1 "abc";StringBuilder sb new StringBuilder("abc");//System.out.println(sb.append("a"));//s1是字符串,则equals为字符串比较内容,// 由于比较对象不为字…

Jodd - Java界的瑞士军刀轻量级工具包

转载自 Jodd - Java界的瑞士军刀轻量级工具包&#xff01; Jodd介绍 Jodd是对于Java开发更便捷的开源迷你框架&#xff0c;包含工具类、实用功能的集合&#xff0c;总包体积不到1.7M。 Jodd构建于通用场景使开发变得简单&#xff0c;但Jodd并不简单&#xff01;它能让你把事情做…

spring boot 入门荔枝

【0】README spring boot 的4个核心功能介绍&#xff1a; 1. 自动配置&#xff1a; 无需 java配置或 xml配置&#xff0c;spring boot 会自动配置bean &#xff1b; 2. 起步依赖 &#xff1a; 为项目提供依赖管理&#xff0c;特别是解决了 各个 依赖jar 包的兼容性问题&…

基本数据类型与字符串的转换

基本数据类型与字符串的转换 1.字符串转化成其他类型 口诀:需要转成什么类型就用什么类型的包装类调用方法 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean2.其他类型转…

Tomcat Get请求的巨坑

转载自 Java程序员注意&#xff1a;Tomcat Get请求的巨坑&#xff01; Tomcat8.5&#xff0c;当Get请求中包含了未经编码的中文字符时&#xff0c;会报以下错误&#xff0c;请求未到应用程序在Tomcat层就被拦截了。 Tomcat报错&#xff1a; java.lang.IllegalArgumentExceptio…

spring boot actuator 入门荔枝

1.创建maven 项目&#xff0c; 通过 http://start.spring.io/ 构建项目结构 2. 3个核心文件内容 ReadinglistApplicatoin.java package com.tangrong;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplicat…

BigDecimal习题

BigDecimal习题 1.定义一个double类型的数组 double[] array{1.2, 0.6, 0.01, 3.2, 5.56, 7.21}; 2.使用BigDecimal求数组中元素的平均值&#xff0c;保留2位小数(四舍五入) 注意&#xff1a;每一个元素都需要封装为BigDecimal对象&#xff0c;才能进行运算&#xff0c;运算的…

Spring Boot 发布 jar 包转为 war 包秘籍。

转载自 Spring Boot 发布 jar 包转为 war 包秘籍。Spring Boot是支持发布jar包和war的&#xff0c;但它推荐的是使用jar形式发布。使用jar包比较方便&#xff0c;但如果是频繁修改更新的项目&#xff0c;需要打补丁包&#xff0c;那这么大的jar包上传都是问题。所以&#xff0c…

java的几种对象(PO,VO,DAO,BO,POJO)解释

本文转自&#xff1a; http://blog.csdn.net/bzhxuexi/article/details/8227808 Java的几种对象(PO,VO,DAO,BO,POJO)解释 一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录&#xff0c;多个记录…

Redis 的 4 大法宝,2018 必学中间件

转载自 Redis 的 4 大法宝&#xff0c;2018 必学中间件&#xff01;Redis是什么&#xff1f;全称&#xff1a;REmote DIctionary ServerRedis是一种key-value形式的NoSQL内存数据库&#xff0c;由ANSI C编写&#xff0c;遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、…

数据交换方法

数据交换方法 一.定义三方变量 【代码实现常用】 int a9; int b10;//定义第三方变量 int tempa; ab; btemp;System.out.println("a"a);//a10 System.out.println("b"b);//b9二.基本位运算&#xff08;^&#xff09; 概念&#xff1a; 参加运算的两个数据…