今天在做招标系统的时候,想通过招标编号把投标商、评分项、评标专家几个表中相关联的字段查询出来。一般以往的做法是把这些字段放到一张视图里,但现在我只是想看看查询出来的结果是否与测试操作相符,没必要建一张视图,于是就想到了今天我们要说的这几种连接,下面以SQL中的一个小Demo为例进行说明:

SQL数据库中有两张表,一张人员(T_Person)表、一张卡(T_Card)表,人基本上都那么几张卡,像银行卡、饭卡、水卡、电费卡……

(T_Person)

(T_Card)

内连接

1.内连接(inner join 或 join)

内连接是等值连接,它使用“=、>、<、<>”等运算符根据每个表共有的列的值匹配两个表中的行

查询语句:

    select * from T_Person inner join T_Card on T_Person.CardId = T_Card.CardId

查询结果:

外连接

2.左连接(left join 或 left outer join)

左连接又称左向外连接,查询的结果集包括SQL语句中左表的所有行,右表中匹配的行。如果左表的某行在右表中没有匹配行,则用空值表示

查询语句:

    select * from T_Person left join T_Card on T_Person.CardId = T_Card.CardId

查询结果:

3.右连接(right join 或 right outer join)

右连接也成右向外连接,查询的结果集包括SQL语句中右表的所有行,左表中匹配的行。如果右表的某行在左表中没有匹配的行,则用空值表示

查询语句:

     select * from T_Person right join T_Card on T_Person.CardId = T_Card.CardId

查询结果:

4.完全外连接(full join 或 full outer join)

完全外连接,查询的结果集包括SQL语句中左表和右表的所有行。如果某行在另一个表中没有匹配行时,则用空值表示。

查询语句:

     select * from T_Person full join T_Card on T_Person.CardId = T_Card.CardId

查询结果:

总结:

SQL中连接查询分内、外连接,外连接分左连接、右连接和完全外连接,它们的功能与视图差不多。其中左右连接查询是相对应的,即把连接类型和左表、右表互换位置就可得到相同的结果集。

SQL的四种连接查询相关推荐

  1. SQL的7种连接查询

    SQL的7种连接查询 在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求:在项目开发过程中,有很多需求都是要涉及到多表的连接查询. 连接查询:也可以叫跨表查询,需要关联多个表进行查询. 以 ...

  2. sql的四种连接 用mysql的语句写_170221、浅谈mysql的SQL的四种连接

    例子: ------------------------------------------------- a表     id   name     b表     id   job   parent_ ...

  3. mysql外连接插座_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  4. mysql 左外连接原理_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  5. 详解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

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

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

  7. [转] SQL的3种连接查询

    连接查询 通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有 ...

  8. mysql常用四种连接_MySQL四种连接查询

    内连接 交集 inner join 或者 join select * from person join card on person.cardId = card.id; +------+------- ...

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

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

  10. SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和c ...

最新文章

  1. google guava工具包collect包HashMultiMap基本用法
  2. 如何在多Node版本的情况下公用一个npm
  3. C# Winform下一个热插拔的MIS/MRP/ERP框架14(自动更新)
  4. 如何更改github工程的语言属性
  5. pcb二次钻孔_线路板中的二次孔是什么?线路板钻孔有哪些常见问题?
  6. How UI5 and FIORI deliver central Javacript library code MIME
  7. php mysql数据备份命令_MySQL数据备份与恢复的相关操作命令
  8. 实例57:python
  9. 【Python 必会技巧】使用 split() 方法对字符串进行切片
  10. Tablestore + Blink实战:交易数据的实时统计
  11. python十点半游戏代码_十点半游戏完整代码及详细注释.py
  12. Mr.J-- HTTP学习笔记(三)-- HTTP报文
  13. Python __all__的作用
  14. 腾讯、爱奇艺修改超前点播规则:不再是支付额外50元看6集
  15. $.getjson异常信息提示_8种信息类型,中后台产品功能自查清单
  16. intel CPU详解
  17. 正态分布的前世今生:误差分布曲线的确立
  18. win11精简中文版 兼容ISO
  19. 运维工程师的打怪升级之路
  20. Unity TileMap工具教程

热门文章

  1. 设计模式(20):外观模式Facade
  2. C++——最长公共子串
  3. 7 Python文件和数据格式化
  4. Kali-linux:masscan命令
  5. html表格固定右侧列,jQuery锁定表头和固定列插件FixedTable
  6. magisk卸载内置软件_软件卸载工具的终极武器——Revo Uninstaller
  7. VBA实现Excel模块筛选高级应用场景!
  8. 编程必备的最基本5种算法思想
  9. Docker进阶学习(容器数据卷、安装Mysql、DockerFile )
  10. iOS图像处理——人脸识别