IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL--内连接查询(inner join) -> 正文阅读

[大数据]MySQL--内连接查询(inner join)

1)内连接查询 – inner join

 语法1select f1,f2,f3...
        from table1 inner join table2 
        on 关联匹配条件
  语法2: select f1,f2,f3...
         from table1,table2,table3
         where 关联匹配条件

(1)自连接

概念:是内连接查询中一种特殊的等值连接,所谓的自连接就是指表与其自己当前表进行连接。自己和自己做连接。

例子:查询员工表,查询每一个员工的姓名、员工的职位和领导的姓名。
员工姓名 员工的职位 领导的姓名
smith clerk ford
allen salesman blake

分析:
t_employee e 员工表
t_employee m 领导表
关联条件 e.MGR=m.empno

select e.ename,e.job,m.ename
      from t_employee e inner join t_employee m
      on e.MGR=m.empno;

在这里插入图片描述
另外一种写法:

select e.ename,e.job,m.ename
      from t_employee e,t_employee m
      where e.MGR=m.empno;

在这里插入图片描述

(2)等值连接

就是在关键字on后的匹配条件是通过=来实现的;
自连接是一种特殊的等值连接。自连接是自己连接自己,等值连接通常是一个表连接另外一张表。

例子:查询部门名称,部门的所在地,员工的编号和员工的姓名。
分析:
t_employee e 员工表
t_dept d 部门表
关联条件 员工表.deptno=部门表.deptno
e.deptno=d.deptno

select d.dname,d.loc,e.empno,e.ename
     from t_employee e inner join t_dept d
     on e.deptno=d.deptno;
select d.dname,d.loc,e.empno,e.ename
     from t_employee e,t_dept d
     where e.deptno=d.deptno;

在这里插入图片描述
练习:查询每个员工的员工编号,员工姓名,员工的工资,员工的职位,领导的姓名,部门编号,部门名称和部门所在地。
分析:

t_employee e 员工表
t_employee m 领导表
t_dept d 部门表
关联条件
员工表.MGR=领导表.empno
e.MGR=m.empno
员工表.deptno=部门表.deptno
e.deptno=d.deptno

select e.empno,e.ename,e.sal,e.job,m.ename,
             d.deptno,d.dname,d.loc
      from t_employee e inner join t_employee m
                        on e.MGR=m.empno
                        inner join t_dept d
                        on e.deptno=d.deptno;

在这里插入图片描述

select e.empno,e.ename,e.sal,e.job,m.ename,
             d.deptno,d.dname,d.loc
       from t_employee e,t_employee m,t_dept d
       where e.MGR=m.empno and e.deptno=d.deptno;

在这里插入图片描述

(3)不等值连接

在关键字on后匹配条件中使用除了=以外的关系运算符实现的不等条件(> >= < <= !=)

例子:查询员工编号大于其领导的编号的每个员工姓名,职位和领导姓名。
step1:查询所有员工编号,姓名,领导者编号,领导姓名和 领导的员工编号。
分析:

t_employee e 员工表
t_employee m 领导表
关联条件 e.MGR=m.empno
员工表的领导者编号等于领导的员工编号

select e.empno,e.ename,e.MGR,m.ename,m.empno
         from t_employee e inner join t_employee m
         on e.MGR=m.empno;

在这里插入图片描述

step2:在加上员工编号大于领导的员工编号条件分析:判断条件 e.empno>m.empno

select e.empno,e.ename,e.MGR,m.ename,m.empno
         from t_employee e inner join t_employee m
         on e.MGR=m.empno and e.empno>m.empno;

等价写法:

select e.empno,e.ename,e.MGR,m.ename,m.empno
         from t_employee e, t_employee m
         where e.MGR=m.empno and e.empno>m.empno;

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:42:31  更:2021-10-16 19:44:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:46:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码