sql的交叉连接,内连接,左外连接,右外连接,全外连接总结
实践是最好的检验,一直都对这几个连接查询出来的结果有什么不同不大理解,然后自己放一块查询比较了一下,用结果来说话~
先建两张表如下:
t1:
id name age
1 张三 18
2 李四 25
t2:
id name age
1 王五 25
2 大白 30
1.交叉连接:也叫笛卡尔积
select * from t1 cross join t2; /*不带查询条件的交叉连接/
select * from t1 ,t2;/*这样默认是cross join/
select * from t1 cross join t2 where t1.age = t2.age;/*带查询条件的交叉连接,但是不能用on连接子句,只能用where /
2.内连接:查询结果是t1和t2的公有部分
select * from t1 inner join t2 on t1.age = t2.age;
可以看出当查询条件一样时交叉连接和内连接的查询结果一样,只不过交叉连接使用where子句作查询条件 而内连接用on子句作查询条件
3.左外连接:查询结果是左表的其它部分 再加上t1和t2的公有部分(这里左表即t1)
select * from t1 left join t2 on t1.age = t2.age;
3.右外连接:查询结果是t1和t2的公有部分 再加上右表的其它部分(这里右表即t2)
select * from t1 right join t2 on t1.age = t2.age;
4.全外连接:查询结果是t1和t2的公有部分 再加上左表和右表的其它部分
select * from t1 full join t2 on t1.age = t2.age;
注:
1.hibernate中用.关联的是一个实体或组件是默认是采用交叉连接,但是不能关联一个集合,否则报错。所以在hibernate中对于集合我们要显示使用内连接。
2.若将两个表的结果连接起来则用union。
sql的交叉连接,内连接,左外连接,右外连接,全外连接总结的更多相关文章
- SQL 各种连接:内连接,外连接(左外,右外,完全外)
在讲述之前,假设有如下两个表EMP, DEPT, 并且他们数据如下:
- SQL中的内连接外连接和交叉连接是什么意思?
内连接又分为等值连接.自然连接和不等连接三种. 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN).右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接( ...
- Oracle左连接、右连接、全外连接以及(+)号用法(转)
+:与附带的字段相连,和“+”相连的字段值,不管是否存在,都会展示 也就是带上相连接的字段 有数据了就显示,没数据就显示为null Oracle 外连接(OUTER JOIN) 左外连接(左边的表不 ...
- [转载]Oracle左连接、右连接、全外连接以及(+)号用法
Oracle 外连接(OUTER JOIN) 左外连接(左边的表不加限制) 右外连接(右边的表不加限制) 全外连接(左右两表都不加限制) 对应SQL:LEFT/RIGHT/FULL OUTER JO ...
- Oracle左连接、右连接、全外连接以及(+)号用法
1.准备工作 Oracle 外连接(OUTER JOIN)包括以下: 左外连接(左边的表不加限制) 右外连接(右边的表不加限制) 全外连接(左右两表都不加限制) 对应SQL:LEFT/RIGHT/F ...
- [转]Oracle左连接、右连接、全外连接以及(+)号用法
原文地址:https://www.cnblogs.com/hehaiyang/p/4745897.html 阅读目录 1.准备工作 2.左外连接(LEFT OUTER JOIN/ LEFT JOIN) ...
- Python进阶----多表查询(内连,左连,右连), 子查询(in,带比较运算符)
Python进阶----多表查询(内连,左连,右连), 子查询(in,带比较运算符) 一丶多表查询 多表连接查询的应用场景: 连接是关系数据库模型的主要特点,也是区别于其他 ...
- 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接(转)
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...
- 【转】深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
[原文]:http://www.jb51.net/article/39432.htm 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. ...
随机推荐
- phpstorm + xdebug 配置
PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 把php-xdebug.dll复制到xamapp/php/ext目录下,打开php.ini配置如下参数 [xdebug] zend_e ...
- lesson1:threadlocal的使用demo及源码分析
本文中所使用的demo源码地址:https://github.com/mantuliu/javaAdvance 其中的类Lesson1ThreadLocal 本文为java晋级系列的第一讲,后续会陆续 ...
- IOS设计模式学习(19)策略
1 前言 面向对象软件设计中,我们可以把相关算法分离为不同的类,成为策略.与这种做法有关的一种设计模式成为策略模式. 2 详述 2.1 简述 策略模式中得一个关键角色是策略类,它为所有支持的或相关的算 ...
- Android应用开发-小巫CSDN博客client之嵌入有米广告
Android应用开发-小巫CSDN博客client之嵌入有米广告 上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SD ...
- JSP动作--JSP有三种凝视方式
一.JSP动作 动作是特殊的标记,通过一个动作标记能够实现多行Java代码实现的效果.能够动态插入文件.重用JavaBean组件.导向还有一个页面等. 动作元素和指令元素不同,动作元素是在client ...
- cocos2d-x v3.2 FlappyBird 各个类对象详细代码分析(7)
今天我们介绍最后两个类 GameOverLayer类 GameLayer类 GameLayer类是整个游戏中最重要的类,由于是整个游戏的中央系统,控制着各个类(层)之间的交互,这个类中实现了猪脚小鸟和 ...
- arcpagelistarclist列表分页
arcpagelistarclist列表分页 (DedeCMS 5.6) 名称:arcpagelist 功能:通过制定arclist的pagesize及tagid属性,配合arcpagelist标签进 ...
- Python之基础(二)
1.内建函数enumerate friends = ['john', 'pat', 'gary', 'michael'] for i, name in enumerate(friends): prin ...
- Android中的创建型模式总结
共5种,单例模式.工厂方法模式.抽象工厂模式.建造者模式.原型模式 单例模式 定义:确保某一个类的实例只有一个,而且向其他类提供这个实例. 单例模式的使用场景:某个类的创建需要消耗大量资源,new一个 ...
- Fragement理解
■ 初衷 可重用,碎片化UI,适应大屏幕pad和小屏幕手机 ■ 优点 自行控制加入,移除,交换. activity则由framework深度掌管. 切换流畅 模块化(逻辑上切割处理) 缺点带来额外 ...