内连接

在进行跨表内连接查询数据时,查询结果只返回符合查询条件的数据;
跨表内连接查询的结果和使用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子句中表的顺序转换为右外连接,因此,两种类型的外部连接可以互换使用,用哪一种纯粹是看谁更方便

MySQL 外部联结 内连接、左右外连接辨析的更多相关文章

  1. mysql学习笔记(七)—— MySQL内连接和外连接

        MySQL内连接(inner join on) MySQL的内连接使用inner join on,它的效果跟使用where是一样的,如果联结的是两个表,那么需要左右的条件或者说字段是需要完全匹 ...

  2. mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化

    先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...

  3. 图解MySQL 内连接、外连接

    2.内连接(INNER JOIN)内连接(INNER JOIN):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行.(所谓的链接表就是数据库在做查询形成的中间表).例如:下面的语句3 ...

  4. 图解MySQL 内连接、外连接、左连接、右连接、全连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  5. MySQL 内连接、外连接、左连接、右连接、全连接……太多了

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). 主题:内连接 ...

  6. mysql(3)—— 内连接、外连接的区别

    先来看一下,内连接的语法: SELECT  XXX FROM XXX INNER JOIN XXX ON XXX; 这里 INNER 可以省略,在上一篇博客中我们对于笛卡尔积现象的研究中(http:/ ...

  7. MySQL中的内连接、外连接、交叉连接

    内连接(INNER JOIN):   分为三种 等值连接.自然连接.不等连接        外连接(OUTER JOIN):   左外连接(LEFT OUTER JOIN或LEFT JOIN)   右 ...

  8. 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  9. 【SQL】SQL中笛卡尔积、内连接、外连接的数据演示

    SQL的查询语句中,常使用到内连接.外连接,以及连接的基础--笛卡尔积运算. 在简单的SQL中,也许我们还分辨清楚数据如何连接,一旦查询复杂了,脑子也犯浆糊了,迷迷糊糊的. 本文,简单以数据形式记录连 ...

随机推荐

  1. 树形DP 学习笔记(树形DP、树的直径、树的重心)

    前言:寒假讲过树形DP,这次再复习一下. -------------- 基本的树形DP 实现形式 树形DP的主要实现形式是$dfs$.这是因为树的特殊结构决定的——只有确定了儿子,才能决定父亲.划分阶 ...

  2. java交换两个参数值的四种方法

    第一种:添加中间变量,算是最经典最简易的一种了. //添加一个中间变量 int x = 1, y = 2; int z; z = x;x = y;y = z; System.out.println(x ...

  3. 改变对象的字符串显示__str__repr

    改变对象的字符串显示 # l=list('hello') # # print(l) # file=open('test.txt','w') # print(file) class Foo: def _ ...

  4. Qt编译出现cc1plus.exe: out of memory allocating 65536 bytes问题

    今天编译Qt程序,出现这个问题: cc1plus.exe: out of memory allocating 65536 bytes 这个还没有遇到过,上网查了下.问题原因是资源文件过大. qt的资源 ...

  5. JavaScript calss语法糖

    JavaScript calss语法糖 基础知识 严格意义上来讲,在Js中是没有类这一概念的. 我们可以运用前面章节提到的构造函数来模拟出类这一概念,并且可以通过原型对象的继承来完美的实现实例对象方法 ...

  6. 在Linux下安装nginx服务器详细教程

    首先安装centos的扩展源 yum install epel-release 安装Nginx 方法一: yum install nginx -y 查看版本号,开启nginx,查看进程 nginx – ...

  7. Vulnhub靶场-Me Tomcat Host 学习笔记

    Nmap -sS -Pn 192.168.232.0/24 nmap -v -A -sS -Pn -T4 -p 1-65535 192.168.232.132 扫页面 数据库部署成功后打开msf,利用 ...

  8. C#LeetCode刷题之#888-公平的糖果交换(Fair Candy Swap)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3758 访问. 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝 ...

  9. Vue Vue-loader / VueLoaderPlugin / Webpack

    在不用VueCli创建项目的时候,手写引入vue的时候,配置webpack的时候发现了这个问题 webpack vue-loader was used without the correspondin ...

  10. CODING DevOps 代码质量实战系列最后一课,周四发车

    随着 ToB(企业服务)的兴起和 ToC(消费互联网)产品进入成熟期,线上故障带来的损失越来越大,代码质量越来越重要,而「质量内建」正是 DevOps 核心理念之一. <DevOps 代码质量实 ...