数据库---四中连接查询(交叉、左连接、右连接、完整查询)
个人博客 :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:略
互相学习,有错请指教!
数据库---四中连接查询(交叉、左连接、右连接、完整查询)相关推荐
- mysql 左关联查询_MySQL 左关联右表条件查询
MySQL的新知识: 之前数据库没学好,不知道LEFT JOIN ON后边可以加条件 首先业务是有个A表,然后会依据A表信息来在B表生成一条对应数据, 操作时候展示A表数据,如果B表已经有对应数据,显 ...
- oracle基础|oracle多表查询用法|什么是等值连接(inner join)|什么是不等值连接(between)|什么是左连接(left join)|什么是右连接(right join)
目录 一.多表查询 概念 基本语法 笛卡尔积 连接查询分类
- linq to entity 左联接 右连接 以及内连接写法的区别(转)
linq to entity 左连接 右连接 以及内连接写法的区别 还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法] 左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关 ...
- 数据库内、外、左、右连接详解
写在前面: 数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询操作. 数据库连表方式: 内连接 :inner join 外连接 :outer join 左外连接 :left outer ...
- SQL——左连接(Left join)右连接(Right join)内连接(Inner join) 笛卡尔积(Cross Join)
Left join 即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来.结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分.左连接全称为左外连接,是外连接的一种. ...
- 【MySQL】MySQL 的连接(内、左、右、全)
一.表 的连 结 1.目的:减少数据的冗余 2.核心:分类 ***连接时至少要两张表,连接主要有内连接(inner join).左外连接(left outer join).右外连接(right out ...
- MySQL连接查询之内连接、左连接、右连接、自连接
目录 一.内连接 1. 连接查询的介绍 2. 内连接查询 二.左连接 1. 左连接查询 三.右连接 1. 右连接查询 四.自连接 1. 自连接查询 一.内连接 1. 连接查询的介绍 连接查询可以实现多 ...
- sql内连接、左连接、右连接以及全连接查询
Mysql 一,内连接.左连接.右连接以及全连接查询 一.内连接查询 inner join 关键字:inner join on 语句:select * from a_table a inner joi ...
- mysql左连接含义_学习笔记-数据库左连接,右连接意义及区别
1.左连接,右连接等的意义及区别: 1)笛卡尔积:CROSS JOIN 要理解各种JOIN首先要理解笛卡尔积.笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起. 所以,如果A表有n条记录, ...
- 【MySQL】(图解)快速理解内连接、外连接、左连接、右连接
[1] 示例数据 用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接). ...
最新文章
- python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
- 在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎
- 接上,优化滚动的效率
- php中文网面试题_2020年PHP面试题大汇总(收藏)
- 字符串substring方法在jkd6,7,8中的差异
- Sublime Text 3 详细安装教程
- 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
- 表格锁定表头不动_Excel教程:你有没有被表头难过?分享几招搞定(下)
- python半径为2.11的圆球的体积_python 学习笔记 11 -- 使用参数使你的程序变得更性感...
- Unity3D 热更新方案(集合各位专家的汇总)
- 微服务中的健康监测以及其在ASP.NET Core服务中实现运行状况检查
- 计算机网络网络层之层次路由
- 服务器虚拟化mv,MVMC简化虚拟机迁移过程
- LINUX安装之后,图标显示问题
- 手把手教你编写一个简单的PHP模块形态的后门
- Real-Time Rendering 4th 译文《二十一 虚拟现实与增强现实》
- MySQL字符串拼接函数使用
- 注销不想用的Apple ID
- uni-swipe-action失效?
- 积木式移动互联网App Hybrid框架-modular
热门文章
- Docker安装RabbitMQ并安装延时队列插件
- 南方电网两栖机器人_南方电网首个作业级水下机器人落户海南 为海底电缆“护驾”...
- ifconfig 命令使用
- Python Numpy数组的降序排列 由大到小
- 电脑基础:键盘F1~F12你会用吗?天天都看到,但会用的真没几个!
- 线程Signaled nonsignaled状态的意思
- VPP协议栈学习一:snd_wnd
- GemCraft Labyrinth:超耐玩的在线flash塔防游戏
- kubernetes日志架构PLG(promtail+loki+grafana)
- Hadoop MapReduce Splits 切片源码分析及切片机制