个人博客 :https://www.siyuan.run
CSDN:https://blog.csdn.net/siyuan
微信小程序:思远Y

1、交叉连接查询 : (基本不适用---得到的是两张表数据的乘积)

语法:SELECT * FROM 表1,表2;
PS:与表关系无关
示例:
图1:products表数据信息
 

图2:category表数据信息

SELECT * FROM products,category;#执行该语句后显示的效果如图3
图3:查询结果
 

2、内连接查询

概念:内连接是等值连接,它使用比较运算符(=、>、<、<>...)根据每个表共有的列的值匹配两个表中的行。
分类:

隐式内连接:SELECT * FROM 表A,表B... WHERE 条件;(条件:表A和表B的等值关系)

图4:products表数据信息
 
图5:category表数据信息
 
SELECT * FROM CATEGORY,PRODUCTS WHERE PRODUCTS.CATEGORY_ID=CATEGORY.CID;
使用别名:
SELECT * FROM CATEGORY C,PRODUCTS P WHERE P.CATEGORY=C.CID;
图6:查询结果
 

显示内连接:SELECT * FROM 表A,表B... INNER JOIN;(INNER可以省略)

SELECT * 
FROM CATEGORY 
INNER JOIN PRODUCTS ON CATEGORY.CID=PRODUCTS.CATEGORY_ID;
使用别名:请参照上面例子

图7:查询结果 如图6

三表内连接查询:假设再添加一张订单ORDER表.
图8:ORDER表
 
SELECT * 
FROM CATEGORY C 
INNER JOIN PRODUCTS P ON C.CID=P.CATEGORY_ID 
INNER JOIN ORDERS O ON O.CID=P.CATEGORY_ID;
图9:显示结果
 

3、外连接查询:外连接分为左连接查询,右连接查询,完整连接查询

3.1左连接:左连接又称左向外连接,查询的结果集包括LEFT OUTER子句中指定的坐标的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

使用的关键字:LEFT OUTER JOIN(OUTER可省略)
SELECT * 
FROM PRODUCTS 
LEFT OUTER JOIN CATEGORY ON PRODUCTS.CATEGORY_ID=CATEGORY.CID;
图10:结果显示
 

3.2右连接:右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

使用的关键字:RIGHT OUTER JOIN(OUTER可以省略)
SELECT * 
FROM PRODUCTS 
RIGHT OUTER JOIN CATEGORY ON PRODUCTS.CATEGORY_ID=CATEGORY.CID;
图11:显示结果
 

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

使用的关键字:FULL OUTER JOIN(OUTER可以省略)
SELECT * 
FROM PRODUCTS 
FULL OUTER JOIN CATEGORY ON PRODUCTS.category_id=CATEGORY.cid;

图12:略

互相学习,有错请指教!

数据库---四中连接查询(交叉、左连接、右连接、完整查询)相关推荐

  1. mysql 左关联查询_MySQL 左关联右表条件查询

    MySQL的新知识: 之前数据库没学好,不知道LEFT JOIN ON后边可以加条件 首先业务是有个A表,然后会依据A表信息来在B表生成一条对应数据, 操作时候展示A表数据,如果B表已经有对应数据,显 ...

  2. oracle基础|oracle多表查询用法|什么是等值连接(inner join)|什么是不等值连接(between)|什么是左连接(left join)|什么是右连接(right join)

    目录 一.多表查询 概念 基本语法 笛卡尔积 连接查询分类

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

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

  4. 数据库内、外、左、右连接详解

    写在前面: 数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询操作. 数据库连表方式: 内连接 :inner join 外连接 :outer join 左外连接 :left outer ...

  5. SQL——左连接(Left join)右连接(Right join)内连接(Inner join) 笛卡尔积(Cross Join)

    ​Left join 即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来.结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分.左连接全称为左外连接,是外连接的一种. ...

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

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

  7. MySQL连接查询之内连接、左连接、右连接、自连接

    目录 一.内连接 1. 连接查询的介绍 2. 内连接查询 二.左连接 1. 左连接查询 三.右连接 1. 右连接查询 四.自连接 1. 自连接查询 一.内连接 1. 连接查询的介绍 连接查询可以实现多 ...

  8. sql内连接、左连接、右连接以及全连接查询

    Mysql 一,内连接.左连接.右连接以及全连接查询 一.内连接查询 inner join 关键字:inner join on 语句:select * from a_table a inner joi ...

  9. mysql左连接含义_学习笔记-数据库左连接,右连接意义及区别

    1.左连接,右连接等的意义及区别: 1)笛卡尔积:CROSS JOIN 要理解各种JOIN首先要理解笛卡尔积.笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起. 所以,如果A表有n条记录, ...

  10. 【MySQL】(图解)快速理解内连接、外连接、左连接、右连接

    [1] 示例数据   用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接).    ...

最新文章

  1. python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
  2. 在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎
  3. 接上,优化滚动的效率
  4. php中文网面试题_2020年PHP面试题大汇总(收藏)
  5. 字符串substring方法在jkd6,7,8中的差异
  6. Sublime Text 3 详细安装教程
  7. 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
  8. 表格锁定表头不动_Excel教程:你有没有被表头难过?分享几招搞定(下)
  9. python半径为2.11的圆球的体积_python 学习笔记 11 -- 使用参数使你的程序变得更性感...
  10. Unity3D 热更新方案(集合各位专家的汇总)
  11. 微服务中的健康监测以及其在ASP.NET Core服务中实现运行状况检查
  12. 计算机网络网络层之层次路由
  13. 服务器虚拟化mv,MVMC简化虚拟机迁移过程
  14. LINUX安装之后,图标显示问题
  15. 手把手教你编写一个简单的PHP模块形态的后门
  16. Real-Time Rendering 4th 译文《二十一 虚拟现实与增强现实》
  17. MySQL字符串拼接函数使用
  18. 注销不想用的Apple ID
  19. uni-swipe-action失效?
  20. 积木式移动互联网App Hybrid框架-modular

热门文章

  1. Docker安装RabbitMQ并安装延时队列插件
  2. 南方电网两栖机器人_南方电网首个作业级水下机器人落户海南 为海底电缆“护驾”...
  3. ifconfig 命令使用
  4. Python Numpy数组的降序排列 由大到小
  5. 电脑基础:键盘F1~F12你会用吗?天天都看到,但会用的真没几个!
  6. 线程Signaled nonsignaled状态的意思
  7. VPP协议栈学习一:snd_wnd
  8. GemCraft Labyrinth:超耐玩的在线flash塔防游戏
  9. kubernetes日志架构PLG(promtail+loki+grafana)
  10. Hadoop MapReduce Splits 切片源码分析及切片机制