SQL中内连接、外连接、交叉连接

SQL连接可以分为内连接、外连接、交叉连接。

数据库数据:

          

book表                                          stu表

1.内连接

1.1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

1.2.不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。

1.3.自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

内连接:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。

select * from book as a,stu as b where a.sutid = b.stuidselect * from book as a inner join stu as b on a.sutid = b.stuid

内连接可以使用上面两种方式,其中第二种方式的inner可以省略。

其连接结果如上图,是按照a.stuid = b.stuid进行连接。

2.外连接

2.1.左联接:是以左表为基准,将a.stuid = b.stuid的数据进行连接,然后将左表没有的对应项显示,右表的列为NULL

select * from book as a left join stu as b on a.sutid = b.stuid

2.2.右连接:是以右表为基准,将a.stuid = b.stuid的数据进行连接,然以将右表没有的对应项显示,左表的列为NULL

select * from book as a right join stu as b on a.sutid = b.stuid

2.3.全连接:完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

select * from book as a full outer join stu as b on a.sutid = b.stuid

3.交叉连接

交叉连接:交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。

select * from book as a cross join stu as b order by a.id

posted on 2019-09-03 22:05 竹径风声 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/girl1314/p/11456030.html

SQL中内连接、外连接、交叉连接相关推荐

  1. 秒懂sql中的左外连接

    左外连接: 1.语法: SELECT 查询字段 FROM 查询表格(左表) LEFT JOIN 右表 ON 查询条件 2.左外连接查询的就是左表,那干嘛加个右表,岂不是没有作用: 区别在于左外连接是查 ...

  2. SQL语法 自然连接 外连接 内连接

    文章目录 笛卡尔积 连接 内连接 自连接 自然连接 外连接 左外连接 右外连接 区分连接 自然连接 内连接 内连接.外连接 on 和 where 条件过滤的区别 参考链接 笛卡尔积 结果集数目为多个表 ...

  3. Oracle 表连接方式(内连接/外连接/自连接) 详解

    Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制)        (2)右外连接(右边的表不加限制)         (3)全外连接(左 ...

  4. MySQL 表的增删改查(进阶篇②)· 联合查询 内连接 外连接 · 自连接 · 子查询 exists · 合并查询 union

    接进阶篇①,我们继续学习. 一.联合查询 1.1 内连接 1.2 外连接 1.3 内连接和左右外连接的区别 二.自连接 三.子查询 3.1 单行子查询 3.2 多行子查询 使用 in 范围匹配多行 另 ...

  5. Hibernate中使用左外连接

    hibernate中的左外连接要怎么设置呢? 很简单:设置fetch属性为EAGER即可.加载策略中:LZAY使用的是inner join:EAGER使用的是left join. @ManyToOne ...

  6. MySQL--基础知识点--64--等值连接/自连接/自然连接/外连接

    该篇文章基于以下三个表进行解析 student表 DROP TABLE IFEXISTS `student`;CREATE TABLE student (`sid` INT NOT NULL AUTO ...

  7. fastreport.net 交叉表居中显示_浅析Sql中内连接、外连接、全连接、交叉连接的区别...

    外连接(out join) 外连接分为外左连接(left outer join)和外右连接(right outer join) 注释:left outer join 与 left join 等价, 一 ...

  8. Sql 中内连接、外连接、全连接、交叉连接的区别

    外连接(out join) 外连接分为外左连接(left outer join)和外右连接(right outer join) 注释:left outer join 与 left join 等价,  ...

  9. 解析SQL中内连接、外连接、完全连接、笛卡尔积关系

    在SQL新手菜鸟开发中,最多运用的就是多表查询,熟悉掌握该运用哪种查询时,可以大大减轻开发时间.下面为大家解释这四种关联关系: 两个表:分别是表A和表B 实例表 1.内连接:只返回满足条件的数据 I ...

最新文章

  1. 安装 Anaconda 5.2+python 3.6地址
  2. 同一个局域网,不同网段的远程控制
  3. 九、为了OFFER而战,那些日子在牛客网刷Linux面试题(下)
  4. Servlet 请求处理
  5. python学习笔记(十一)标准库sys
  6. C 程序的存储空间记录
  7. 机器学习基础-吴恩达-coursera-(第一周学习笔记)----Introduction and Linear Regression
  8. ****** 三十三 ******、软设笔记【存储器系统】-主存储器、辅存储器
  9. 四则运算2扩展---c++
  10. 格式化文件系统命令所在目录——command not found
  11. 凌晨3点回去后的想法
  12. 新版FMEA软件参数图(P图)免费申请试用(FMEAHunter)
  13. 百度时间显示时间_百度SEO需要多长时间以及如何加快排名?
  14. 数据分析之数据质量分析
  15. 解决word中Mathtype按钮灰色问题(亲测有效)
  16. 作为过来人的我是如何学技术的?
  17. 网页中有大量图片加载很慢,用什么方法进行优化
  18. sklearn.datasets.make_blobs 生成符合高斯分布的点
  19. TextSeek使用教程(初级篇) - 文件搜索软件
  20. DSP28335 CAN模块例程

热门文章

  1. UIButton 的不同设置和UITextField 的默认值(修改默认值)
  2. 一万年太久,只争朝夕
  3. ORA-4031错误深入解析
  4. RedHat Enterprise 5.1下OpenLDAP的配置及PAMNSS的配置
  5. MySQL00-这都不知道还TM学啥MySQL
  6. Linux04-文件系统权限与ACL权限
  7. 你不应该关注区块链的“杀手级应用”
  8. 区块链为什么这么热?有这么大热度的原因是什么
  9. 1048 数字加密 --非满分
  10. 塔式、机架式、刀片式服务器比较