当前位置: 首页 > news >正文

MySQL的内外连接

📟作者主页:慢热的陕西人

🌴专栏链接:MySQL

📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言

本博客主要内容主要介绍了MySQL中的内外连接

在这里插入图片描述

文章目录

  • MySQL的内外连接
    • 1.内连接
    • 2.外连接
      • 2.1左外连接
      • 2.2右外连接

MySQL的内外连接

1.内连接

内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。

语法:

select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;

案例:显示SMITH的名字和部门名称

-- 用前面的写法
select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno and
ename='SMITH';
-- 用标准的内连接写法
select ename, dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno and
ename='SMITH';

2.外连接

外连接分为左外连接和右外连接

2.1左外连接

如果联合查询,左侧的表完全显示我们就说是左外连接。
语法:

select 字段名 from 表名1 left join 表名2 on 连接条件

案例:

-- 建两张表
create table stu (id int, name varchar(30)); -- 学生表
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');
create table exam (id int, grade int); -- 成绩表
insert into exam values(1, 56),(2,76),(11, 8);
  • 查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来

    -- 当左边表和右边表没有匹配时,也会显示左边表的数据
    select * from stu left join exam on stu.id=exam.id;
    

2.2右外连接

如果联合查询,右侧的表完全显示我们就说是右外连接。

语法:

select 字段 from 表名1 right join 表名2 on 连接条件;

案例:

  • 对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来

    select * from stu right join exam on stu.id=exam.id;
    

练习:

  • 列出部门名称和这些部门的员工信息,同时列出没有员工的部门

    方法一:
    select d.dname, e.* from dept d left join emp e on d.deptno=e.deptno;
    方法二:
    select d.dname, e.* from emp e right join dept d on d.deptno=e.deptno;
    

到这本篇博客的内容就到此结束了。
如果觉得本篇博客内容对你有所帮助的话,可以点赞,收藏,顺便关注一下!
如果文章内容有错误,欢迎在评论区指正

在这里插入图片描述

http://www.lryc.cn/news/341104.html

相关文章:

  • Pandas连接MySQL数据库
  • 2024华中杯数学建模参考思路+完整代码+后续成品论文预约
  • ARM_day8:基于iic总线的通信
  • 33、Lua Cocos2d-x使用Luajit实现加密
  • spring 集成 mybatis
  • rtpengine 的端点学习模式
  • Windows 安装 A UDP/TCP Assistant 网络调试助手
  • web自动化系列-selenium的3种等待方式(十一)
  • 每日OJ题_完全背包④_力扣279. 完全平方数(一维和二维)
  • web项目中jsp页面不识别el表达式
  • 【Python基础】字典
  • 2024HW --> 安全产品 Powershell无文件落地攻击
  • 力扣哈哈哈哈
  • RUM 最佳实践-视觉稳定性的探索与实践
  • PostgreSQL的学习心得和知识总结(一百三十八)|深入理解PostgreSQL数据库之Protocol message构造和解析逻辑
  • 爬虫开发教程
  • 【Python】高级进阶(专版提升3)
  • LeetCode 1378、1277、2944
  • 【缓存常见问题】
  • Python爬取猫眼电影票房 + 数据可视化
  • Spring Boot深度解析:是什么、为何使用及其优势所在
  • 面向对象——类与对象
  • Golang的[]interface{}为什么不能接收[]int?
  • 重启服务器或重启docker,导致emqx的Dashboard的密码重置为public
  • 就业班 第三阶段(ansible) 2401--4.16 day2 ansible2 剧本+角色
  • 常用的过滤网站扫描网站攻击的路径是那些,比如:/etc/passwd等
  • 考研数学|《1800》《660》《880》如何选择和搭配?(附资料分享)
  • 论文笔记:Are Human-generated Demonstrations Necessary for In-context Learning?
  • C语言 | Leetcode C语言题解之第28题找出字符串中第一个匹配项的下标
  • 「Python大数据」数据采集-某东产品数据评论获取