做购物网站安全吗,一份优秀的网络推广方案,网上商城官网入口,wordpress文章对齐方式在MySQL中#xff0c;内连#xff08;INNER JOIN#xff09;和外连#xff08;OUTER JOIN#xff09;是用于联接多个表的操作。接下来#xff0c;我分别给大家介绍下二者。 目录
#xff08;一#xff09;内连接
1、什么叫内连接
2、语法格式 3、案例#xff1a;显…在MySQL中内连INNER JOIN和外连OUTER JOIN是用于联接多个表的操作。接下来我分别给大家介绍下二者。 目录
一内连接
1、什么叫内连接
2、语法格式 3、案例显示SMITH的名字和部门名称来自oracle 9i的经典测试表
二外连接
1、什么叫外连接
2、左外连接
2.1案例演示
3、右外连接
3.1案例演示
4、全外连接
5、练习演示
三实战OJ
四总结 一内连接
1、什么叫内连接 在MySQL中 内连接 实际上就是利用 where 子句对两种表形成的笛卡儿积进行筛选我们前面学习的查询都是内连接也是在开发过程中使用的最多的连接查询。 2、语法格式 以下是内连接的基本语法 SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.关联列 表2.关联列; 注内连会返回同时存在于表1和表2中的行并且仅包括满足关联条件的行。 3、案例显示SMITH的名字和部门名称来自oracle 9i的经典测试表
之前我们通过笛卡尔积可以对其进行操作今天我们通过内连接的方式来进行有关操作。具体如下 用前面的写法 select ename, dname from EMP, DEPT where EMP.deptnoDEPT.deptno and enameSMITH; 结果展示 用标准的内连接写法 select ename, dname from EMP inner join DEPT on EMP.deptnoDEPT.deptno and
enameSMITH;
结果展示 【小结】
内连接的关键点是只返回两个表中连接条件满足的行而不包括任何一个表中没有匹配的行如果某行在其中一个表中没有匹配的行则不会包含在结果中需要注意的是内连接并不包括符合条件但值为NULL的行。如果你需要包含这些行可以使用接下来讲到的外连接 二外连接
1、什么叫外连接 在MySQL中外连接是一种用于检索两个或多个表之间的数据的方法它包括左外连接、右外连接和全外连接。 2、左外连接
左外连返回左表中的所有行以及右表中与左表满足联接条件的行如果右表中没有匹配的行则返回 NULL 值。 语法如下select 字段名 from 表名1 left join 表名2 on 连接条件 2.1案例演示
首先我先建立两张表以供实现需要。具体如下 表一 表二 需求 查询所有学生的成绩如果这个学生没有成绩也要将学生的个人信息显示出来 当左边表和右边表没有匹配时也会显示左边表的数据 select * from stu left join exam on stu.idexam.id; 3、右外连接
右外连与左外连相反返回右表中的所有行以及左表中与右表满足联接条件的行;如果左表中没有匹配的行则返回 NULL 值。 语法如下select 字段名 from 表名1 right join 表名2 on 连接条件 3.1案例演示 需求 对 stu 表和 exam 表联合查询把所有的成绩都显示出来即使这个成绩没有学生与它对应也要 显示出来 select * from stu right join exam on stu.idexam.id; 4、全外连接
全外连返回左表和右表中的所有行并将它们联接在一起;如果某个表中没有匹配的行则返回 NULL 值;MySQL不直接支持全外连可以使用UNION操作符来模拟实现。 5、练习演示 需求 列出部门名称和这些部门的员工信息同时列出没有员工的部门 现在有这样的场景一家公司为了业务架构的完整设置了某个部门但是暂时这个部门还没有人随着之后公司的发展这个部门才会发挥作用。 方法展示 代码展示
select dname,ename,dept.deptno from dept left join emp on dept.deptnoemp.deptno order by dept.deptno asc;
输出显示 三实战OJ
大家看完上诉可以通过下面这两道题目练练手
分数排名Exchange Seats 四总结
通过内连和外连操作可以根据表之间的关联条件将数据联接起来并进行灵活的查询和分析。具体选择哪种联接类型取决于你的需求和数据结构。