前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql常用sql语句(16)- inner join 内连接

Mysql常用sql语句(16)- inner join 内连接

作者头像
小菠萝测试笔记
发布2020-06-09 16:14:55
7080
发布2020-06-09 16:14:55
举报

测试必备的Mysql常用sql语句系列

https://www.cnblogs.com/poloyy/category/1683347.html

前言

  • 利用条件表达式来消除交叉连接(cross join)的多余数据行
  • inner join通过 来设置条件表达式,如果没有加on的话,inner join和cross join是相同的

on

  • 和 inner join ... on 其实效果也是一样的(但在标准sql中,cross join是不支持on的,只是Mysql支持)

crossjoin ... on

inner join 的语法格式

代码语言:javascript
复制
SELECT <字段名> FROM <表1> INNER JOIN <表2> [ON子句]
  • inner join 可以连接 ≥ 两个的表
  • inner join 也可以使用 where 来指定连接条件,但是 是官方标准写法,而且 where 可能会影响查询性能

innerjoin ... on

  • inner join 也可以只写 join 不加 inner

先看看dept、emp表有什么数据

dept表
emp表

inner join 的栗子

标准内连接:查询每个员工的部门详细信息

两张表相连

代码语言:javascript
复制
select * from emp as a inner join dept as b on a.dept_id = b.id;
select * from emp as a join dept as b on a.dept_id = b.id;
注意点

可以看到emp表id=7、9的数据是没有返回的,dept表id=4的数据也是没有返回的,这就是inner join的特性:只有两张表相互匹配到的数据才会返回(满足查询条件的数据),简单理解就是:取交集

特殊内连接,自连接:查询有leader的员工以及leader信息

自连接:同一张表相连

代码语言:javascript
复制
select * from emp as a inner join emp as b on a.leader = b.id;
特殊内连接,不等值连接

不等值连接:查询条件的逻辑运算符是大于或小于

代码语言:javascript
复制
select * from emp as a inner join dept as b on a.dept_id > b.id;
知识点
  • 在多表查询的时候,字段名都需要通过表名指定

表名.字段名

  • 如果表名太长可以用给表起别名,这样就变成 ,如上面的 a 、 b 就是别名, a.dept_id 、 b.id

别名.字段名

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • inner join 的语法格式
  • 先看看dept、emp表有什么数据
    • dept表
      • emp表
      • inner join 的栗子
        • 标准内连接:查询每个员工的部门详细信息
          • 注意点
            • 特殊内连接,自连接:查询有leader的员工以及leader信息
              • 特殊内连接,不等值连接
                • 知识点
                相关产品与服务
                云数据库 SQL Server
                腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档