SQL 左外连接,右外连接,全连接,内连接带图详细介绍
SELECT id, name,description,img_url,sort,is_display
from bbs_brand ORDER BY id DESC
limit startRow,pageSize ( limit 开始行,每页大小。)
**
SQL 左外连接,右外连接,全连接,内连接
**
内连接 : (查询的是两个表共有的数据)
左连接 :(以左表为主表【a】,查询展示的时候以左表的信息为主,相对应的右表如果没有信息会显示null)
右连接 :(以右表为主表【b】,查询展示的时候以右表的信息为主,相对应的左表如果没有信息会显示null)
完全连接 :(查询的是两个表的和,和左表对应的右表如果没有信息,会显示null。和右表对应的左表没有信息会显示null)
内连接。(典型的连接运算,使用像 = 或 <> 之类的比较运算符)。包括相等连接和自然连接。
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。
外连接。外连接可以是左向外连接、右向外连接或完整外部连接*。*
在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:
LEFT JOIN 或 LEFT OUTER JOIN。
左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
FULL JOIN 或 FULL OUTER JOIN。
完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
例子:
a表 : id name b表: id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在主外键关系
内连接 : (查询的是两个表共有的数据) INNER JOIN:只显示多表之间与关联条件相匹配的列.
select a.*,b.* from a inner join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
左连接 :****(以左表为主表【a】,查询展示的时候以左表的信息为主,相对应的右表如果没有信息会显示null)
select a.*,b.* from a left join b on a.id=b.parent_id
结果是 :
1 张3 1 23 1
2 李四 2 34 2
3 王武 null
右连接 :****(以右表为主表【b】,查询展示的时候以右表的信息为主,相对应的左表如果没有信息会显示null)
select a.*,b.* from a right join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
完全连接 :****(查询的是两个表的和,和左表对应的右表如果没有信息,会显示null。和右表对应的左表没有信息会显示null)
select a.*,b.* from a full join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null
其他解释
Sql查询左连接(left join),右连接(right join),内连接(inner join)
内连接:
INNER JOIN:只显示多表之间与关联条件相匹配的列.
外连接:
LEFT JOIN :以左表为基础,显示左表中的所有列,不管是否与关联条件相匹配,而右表中的数据只显示与关联条件相匹配的列,不匹配的列以NULL字符填充.
RIGHT JOIN:以右表为基础,显示右表中的所有列,不管是否与关联条件相匹配,而左表中的数据只显示与关联条件相匹配的列,不匹配的列以NULL字符填充.
FULL JOIN :显示多个表中的所有的列,不匹配关联条件的列以NULL字符填充.
hibernate 的left join fetch可以取出lazy对象
当你在one-to-many的时候,设置lazy=true时,取对象的时候会使用延迟加载。
但是你可以使用left join fetch强制取出lazy对象
一个"fetch"连接允许仅仅使用一个选择语句就将相关联的对象或一组值的集合随着他们的父对象的初始化而被初始化,这种方法在使用到集合的情况下尤其有用,对于关联和集合来说,它有效的代替了映射文件中的外联接 与延迟声明(lazy declarations).
一个fetch连接通常不需要被指定别名, 因为相关联的对象不应当被用在 where 子句 (或其它任何子句)中。
同时,相关联的对象 并不在查询的结果中直接返回,但可以通过他们的父对象来访问到他们。
最后注意,使用full join fetch 与 right join fetch是没有意义的。
如果你使用属性级别的延迟获取(lazy fetching)(这是通过重新编写字节码实现的),
可以使用 fetch all properties 来强制Hibernate立即取得那些原本需要延迟加载的属性(在第一个查询中)。
你可以在lazy="true"的情况下把fetch去掉,就会报异常. 当然,如果lazy="false"就不需要fetch了
SQL 左外连接,右外连接,全连接,内连接带图详细介绍相关推荐
- SQL 左外连接,右外连接,全连接,内连
SQL 左外连接,右外连接,全连接,内连接 连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条 ...
- 内连接,外连接(左外,右外),全连接(交集),交叉连接(笛卡尔积)
内连接,外连接(左外,右外),全连接(交集),交叉连接(笛卡尔积) 先略两个表 首先左连接:SELECT * FROM test1 a LEFT JOIN test2 b ON a.id = b.id ...
- 四种连接类型:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接)
在from子句中表示连接操作有四种:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接). 一.理论讲解 1.内连接jo ...
- mysql 三个表的外连接方式,MySQL表连接使用详解,内连接,外连接,交叉连接
本章节向大家介绍如何使用 MySQL 的 JOIN 在两个或多个表中查询数据. 前提如下供后面学习所用: 查看学生表的全部记录SELECT * FROM STUDENT; 查看地址表的全部记录:SEL ...
- mysql 中的左连接,右链接和内连接
左连接,右链接和内连接 在自己做项目的过程中,遇到了相关的数据库的查询的问题,在这里做一下简短的记录和总结 其中左连接和右链接属于外连接: 左连接: left (outer) join 右链接: ri ...
- SQL 左外连接,右外连接,全连接,内连接 4种连接的区别
?连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行. 连接可分为以下几类: 内连接.(典型的连 ...
- SQL中的各种连接的区别总结(内连接,左连接,左外连接,右连接,右外连接,全连接,全外连接)
在数据库中建立两张表方便大家理解,teacher和student表(student表中的teacherid字段是对应teacher表中的ID,举个例子张三的老师就是李四,没有teacherid就是这个 ...
- SQL 左外连接,右外连接,全连接,内连接
2019独角兽企业重金招聘Python工程师标准>>> 联接条件可在 FROM 或 WHERE 子句中指定,建议在 FROM 子句中指定联接条件.WHERE ...
- mysql a左外连接b b左外连接c_数据库中的 内连接,外连接(左连接,左外连接,右连接,右外连接),全连接,交叉连接...
数据库的连接类型:内连接,外连接,全连接 ,交叉连接 作用:连接是关系数据库的特点,数据的关联查询用到 多表连接 提高查询效率 前段时间面试被问到数据库的内连接和外连接的问题,进过一番周折的无师自通, ...
最新文章
- mysql 分号 存储过程_MySql 存储过程
- [转]Android敏捷开发指南
- 小眼睛适合大框还是小框眼镜_北京潘家园眼镜城良心商家推荐
- leetcode笔记(一)309. Best Time to Buy and Sell Stock with Cooldown
- boost::make_filtered_graph用法的测试程序
- 我的研究生这三年(含腾讯AI Lab实习、CVPR发表经验)
- java web开发常见问题_JavaWeb学习笔记(五)--Web开发其他常见问题
- Hibernate 语句总结
- 《论文笔记》COVINS: Visual-Inertial SLAM for Centralized Collaboration
- Mybatis mapper代理SqlMapConfig.xml配置详解
- python map用法_讲解Python map()函数和将map()与多个Iterables一起使用
- SonarQube规则之坏味道类型
- vs2015-devexpress 安装
- CAS4搭建HTTP环境
- Windows Server 2008 R2中Windows Server Backup功能之备份、恢复
- 震惊!你可能下了个假的抢红包神器
- 服务器卡logo显示2f,战争机器4卡LOGO界面解决办法
- Hive创建表的几种方式
- 矩阵理论——线性空间
- 牧师与魔鬼——动作分离版