最然我们在JavaEE开发中不常用inner join,left join,right jion,由hibernate封装了,但是在最近的找工作中,总是有这样的面试题,我总结了一下。来解释这些东西。
现在有两张表:
1.部门表(branch):
2.员工表(employee):
a.内连接(inner join)
内连接就是 获取 两张表共有的数据。
SELECT b.branch,e.name FROM branch AS b INNER JOIN employee AS e ON b.id=e.branchid
结果:
如果Sql换个写法:
SELECT b.branch,e.name FROM employee AS e INNER JOIN branch AS b ON b.id=e.branchid
结果:
呵呵,发现结果是一样的,不管内连接的哪张表,结果都是获取的两张表的共有数据!
此外,还有一种写法,能达到同样的效果:
SELECT b.branch,e.name FROM employee AS e,branch AS b WHERE b.id=e.branchid
结果:
b.左连接(left join) :
SELECT b.branch,e.name FROM branch AS b LEFT JOIN employee AS e ON b.id=e.branchid
结果:
分析下,为什么会有这样的结果,找个诀窍,看Sql语句的 from 关键字的后面是哪张表(branch表),那么结果一定包含branch表中的所查询的字段(branch字段)所关联左表(employee表)的所有数据,如果左连接表(employee表中)不存在branch中的所查询字段,那么该字段的值为Null。
好了,现在换个写法:
SELECT b.branch,e.name FROM employee AS e LEFT JOIN branch AS b ON b.id=e.branchid
结果:
在分析下,看Sql语句的 from 关键字的后面是哪张表(employee 表),那么结果一定包含employee 表中的所查询的字段(name字段)所关联左表(branch表)的所有数据。
c.右连接(right join) :
与左链接相反!
- 大小: 7.7 KB
- 大小: 11.7 KB
- 大小: 9.1 KB
- 大小: 11.2 KB
分享到:
相关推荐
### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...
Mysql 之 inner join、left join、right join 详解 Mysql 中的连接查询是指从多个表中检索数据,并将它们组合成一个结果集。inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner ...
* FULL OUTER JOIN:LEFT OUTER 和 RIGHT OUTER 中所有行的超集。 内连接(Inner Join) 内连接是最常见的一种连接,它也被称为普通连接,而 E.FCodd 最早称之为自然连接。例如: SELECT * FROM t_institution i ...
根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)。本文将详细探讨这三种连接方式的区别,并通过具体的例子来解释它们的应用场景。 ### 内连接...
本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN(左连接) LEFT JOIN返回所有左表(在本例中为A表)的记录,即使在右表(B表)中没有...
### (Left join , Right Join, Inner Join)用法详解 #### 一、基本概念与应用场景 在数据库查询语言SQL中,连接(Join)是一种非常重要的操作,它允许我们结合两个或多个表的数据来检索信息。根据不同的连接方式,...
比较实用的方法,已经用到项目里,很好用的一个方法
左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)是三种最基本的连接类型。在本节中,我们将详细介绍左连接、右连接和内连接的区别和联系。 左连接(LEFT JOIN) 左连接返回左表中的所有行,右表...
本篇文章将深入探讨四种基本的JOIN类型:LEFT JOIN(左连接)、RIGHT JOIN(右连接)、INNER JOIN(内连接)以及OUTER JOIN(外连接)。我们将详细解释这些概念,它们的工作原理以及在实际数据库操作中的应用。 1. ...
SQL 外链接操作小结 inner join left join right join SQL 外链接操作是关系型数据库管理系统中的一种基本操作,用于从多个表中检索数据。外链接操作可以分为三种:inner join、left join 和 right join。 inner ...
在SQL中,主要有四种类型的连接查询:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。下面将详细解释这四种连接方式。 1. 内连接(INNER JOIN): 内连接返回两个表中...
本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...
### 数据库关联查询(Left, Right, Inner Join) 在数据库管理与操作中,关联查询是一项极为重要的技术,它能够帮助我们高效地从多个表中提取数据,并根据特定条件进行匹配和整合。本文将通过通俗易懂的方式,详细...
3. RIGHT JOIN (或 RIGHT OUTER JOIN): 右JOIN与LEFT JOIN相反,返回右表的所有记录,即使左表中没有匹配的记录。左表中未找到匹配项的记录将用NULL填充。语法: ```sql SELECT columns FROM table1 RIGHT JOIN ...
RIGHT JOIN 与 LEFT JOIN 相反,它以右表为基础,即使左表中没有对应的记录,也会显示右表的所有记录,并且左表中对应的列显示为 NULL。 #### 八、总结 本文详细介绍了 SQL 中 INNER JOIN 的基本概念、语法结构...
这种嵌套的方式可以处理更复杂的连接逻辑,但需要注意的是,INNER JOIN不能直接嵌套在LEFT JOIN或RIGHT JOIN中,因为LEFT JOIN和RIGHT JOIN会包含不匹配的记录,而INNER JOIN只返回匹配的。 LEFT JOIN(左连接)和...
接下来,我们讨论OUTER JOIN,它分为LEFT JOIN、RIGHT JOIN和FULL JOIN。OUTER JOIN的目的是返回所有匹配的行以及至少一方表中的非匹配行。 - LEFT JOIN(或LEFT OUTER JOIN)返回左表中的所有行,即使右表中没有...
### Inner Join 和 Outer Join 的详细解析 #### 一、引言 在数据库管理与查询语言(如 SQL)中,连接(Join)是一项重要的技术,用于从两个或多个表中提取数据,并基于某些条件将这些数据合并在一起。连接类型主要...