作者:初行 – 博客园

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

数据库数据:

book表:                                         stu表:

                          

1.内连接

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

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

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

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

1、select * from book as a,stu as b where a.sutid = b.stuid

2、select * 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

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

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

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

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

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

3.交叉连接

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

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

文章出处:http://www.cnblogs.com/zxlovenet/p/4005256.html

from: http://dataunion.org/11954.html

SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接相关推荐

  1. 【MySQL】MySQL 的连接(内、左、右、全)

    一.表 的连 结 1.目的:减少数据的冗余 2.核心:分类 ***连接时至少要两张表,连接主要有内连接(inner join).左外连接(left outer join).右外连接(right out ...

  2. linq to entity 左联接 右连接 以及内连接写法的区别(转)

    linq to entity 左连接 右连接 以及内连接写法的区别  还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法] 左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关 ...

  3. MySQL sql99语法—左(右)外连接

    应用场景:用于查询一个表中有,另一个表中没有的记录. 特点: 外连接的查询结果为主表中的所有记录,如果从表中有和他匹配的,则显示匹配的值,如果从表中没有,则显示 null. 外连接查询结果 = 内连接 ...

  4. tplink连接服务器失败_管家婆财贸双全连接失败,服务器端没有找到加密狗

    管家婆财贸双全连接失败,服务器端没有找到加密狗 管家婆财贸双全找不到狗判断步骤 1.先判断电脑能否识别管家婆财贸双全加密狗我的电脑--右键--属性--硬件--设备管理器--通用串行总线控制器(或人体学 ...

  5. c++中实现域内,左,右对齐的方法

    需要包含头文件 实现域内左对齐 int main() {cout.setf(ios::left);//for (int i = 0; i < 5; i++)cout << setw( ...

  6. mysql 左连接 理解_深入理解SQL的四种连接-左外连接、右外

    推荐:解析:内联,左外联,右外联,全连接,交叉连接的区别 本篇文章是对内联,左外联,右外联,全连接,交叉连接的区别进行了详细的分析介绍,需要的朋友参考下 连接分为:内连接.外连接.交叉连接 一.内连接 ...

  7. SQL 左外连接,右外连接,全连接,内连接 4种连接的区别

    ?连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行. 连接可分为以下几类: 内连接.(典型的连 ...

  8. SQL 左外连接,右外连接,全连接,内连

    SQL 左外连接,右外连接,全连接,内连接       连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条 ...

  9. SQL的连接分为三种:内连接、外连接、交叉连接

    建了两张表,学生表student 课程表 class 一.内连接: 内连接(INNER JOIN):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行.(所谓的链接表就是数据库在做查询 ...

最新文章

  1. 白盒测试的3中主要方法(cont.)
  2. C语言程序设计模拟卷,C语言程序设计(上)模拟卷
  3. c++带成员指针使用
  4. 思考 | 人工智能时代:AI芯片能否实现弯道超越?
  5. java端到端_Java应用程序性能监控:复杂分布式应用程序的端到端性能
  6. 计算机系统中存储管理是,《计算机操作系统5、存储管理.doc
  7. 【JS 逆向百例】XHR 断点调试,Steam 登录逆向
  8. git add 撤销_Git系列——Git添加提交(add)和查看状态(status)
  9. iOS开发之控制器的创建
  10. 【matlab】膨胀
  11. [转]Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()
  12. C++ 内存分配(new,operator new)详解
  13. 基于Verilog的贪吃蛇小游戏设计(附代码)
  14. java对接云之家群聊机器人
  15. 微信公众平台开发1-OAuth2.0网页授权(含源码)
  16. Keras入门(2)——麻雀虽小,五脏俱全
  17. linux 设置 用户 密码,Linux系统怎么设置开机密码?Linux设置开机密码的方法
  18. 工时管理:警惕员工时间偷窃!企业应该如何避免?
  19. Cantor 表 {C语言解法}
  20. Renice INC:葡萄酒常用的保鲜方法

热门文章

  1. MySQL索引背后的数据结构及算法原理--转
  2. 职场中晋升最快的人具有什么特点?隐藏不住的四大特征
  3. http://nlp.stanford.edu:8080/parser/index.jsp
  4. Regtech半月观察(9月上)
  5. 十、【栈和队列】队列
  6. Redis进阶-核心数据结构进阶实战
  7. 高并发编程-Daemon Thread的创建以及使用场景分析
  8. Oracle-等待事件解读
  9. Android获取SDK的版本信息
  10. 学习笔记Spark(十)—— Spark MLlib应用(2)—— Spark MLlib应用