MySQL 外部联结 内连接、左右外连接辨析
2024-09-07 05:32:58
内连接
在进行跨表内连接查询数据时,查询结果只返回符合查询条件的数据;
跨表内连接查询的结果和使用where的多表查询结果相同,其实就是普通的查询,没啥好说的
-- 语法:
SELECT 别名1.字段名1,别名2.字段名2
FROM 库名.表名1 [AS] 别名1
INNER JOIN 库名.表名2 [AS] 别名2
ON 别名1.字段名3=别名2.字段名3;
外连接
多个联结将一个表中的行和另一个表中的行相关联。但有时要包含没有关联行的那些行,例如:
- 对每个客户下了多少订单进行计数,包括没有订单的客户;
- 列表所有产品的订单数量,包括没有订单的产品;
- 计算平均销售量,包括没有订单的客户;
这类情况联结包含了那些在相关表中没有关联行的行,这种类型的联结就叫外部联结
对于这个简单的内部联结:检索所有客户及其订单
SELECT customers.cus_id, orders.order_num
FROM customers
INNER JOIN orders
ON customers.cus_id=orders.cus_id
若用外部联结,即可为了检索所有客户,包括那些没有订单的客户
SELECT customers.cus_id, orders.order_num
FROM customers
LEFT OUTER JOIN orders
ON customers.cus_id=orders.cus_id
左连接和右连接
它们之间唯一的差别就是所关联的表的顺序不同。实际上,左连接可以通过FROM或WHERE子句中表的顺序转换为右外连接,因此,两种类型的外部连接可以互换使用,用哪一种纯粹是看谁更方便
最新文章
- IE6 + png24 透明图片(滤镜)
- Test a ; vs Test a( ) ;
- USACO 2.2 Subset Sums 集合(subset)
- Eclipse配置使用web.xml
- MYSQL 存储过程1、SQL存储过程的基础知识
- C#总结项目《影院售票系统》编写总结完结篇
- Hive笔记--sql语法详解及JavaAPI
- 》》jqurey mobile 初
- 弹出层罩子html(上传照片弹出请等待后面的代码不能修改)
- Java的暑期作业
- Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.
- sqoop错误集锦1
- 设计模式---数据结构模式之组合模式(Composite)
- mybatis 动态sql 插入报错
- TCP连接数过多问题
- JavaScript “跑马灯”抽奖活动代码解析与优化(二)
- 使用Java函数接口及lambda表达式隔离和模拟外部依赖更容易滴单测
- 2、ansilbe常用模块详解及inventory介绍
- 案例情景--在一次Oracle 数据库导出时 EXP-00008;ORA-00904:EXP-00000: oracle不同版本导入导出规则
- Java服务端单元测试指南
热门文章
- 【FZYZOJ】「Paladin」瀑布 题解(期望+递推)
- yum自建离线仓库
- “随手记”开发记录day11
- 无法加载文件或程序集“System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”
- 基于token的会话保持机制
- MySQL设置跳过密码验证
- node.js 出现server instance pool was destroyed
- 轻量级Java EE企业应用实战:Struts2+Spring5+Hibernate5/JPA2
- 性能分析(7)- 未利用系统缓存导致 I/O 缓慢案例
- AS 新电脑clone项目报错:Clone failed: Authentication failed for 'https://gitee.com/XXX/Demo.git/'