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

SQL99版外连接

外连接

看这样的场景,在ta和tb两表中查询没有对应年龄数据的学生姓名和年龄

SELECT
tb.`name`,ta.`age`
FROM
tb
INNER JOIN
ta
ON
tb.`ta_id`=ta.`id`
WHERE
ta.`id` IS NULL;

结果没有,所以前面的查询是解决不了这种问题!!!

所以外连接主要就是解决这种情况,一边有数据对应的另一张表中没有数据!

外连接语法

select 查询列表
from 表1 别名
【链接类型】 join 表2 别名
on 链接条件
where 数据筛选条件 .....以前讲过的其他部分;
链接类型:
左外连接 left 【outer】
右外连接 right 【outer】
全外连接 full 【outer】

掌握外连接知识点

1.外连接的查询结果为主表中有的所有记录

外表有对应数据,结果记录上显示对应数据

外表中没有对应的数据,结果记录上填充null

和内连接的区别

内连接:当从表没有记录的时候,主、从表的记录都丢掉!

外连接:当从表没有记录的时候,会保留主表的记录,对应从表null

2.左外连接:left join左边的是主表,右外连接right join 右边的是主表

3.左外连接和右外连接上互通的所以掌握一个就好

解决

在ta和tb两表中查询没有对应年龄数据的学生姓名和年龄

SELECT
tb.`name`,ta.`age`
FROM
tb
LEFT JOIN
ta
ON
tb.`ta_id`=ta.`id`
WHERE
ta.`id` IS NULL;
案例

查询没有员工的部门

SELECT d.`department_id`,d.`department_name`,e.`employee_id`
FROM `departments` d
LEFT JOIN `employees` e
ON d.`department_id`=e.`department_id`
WHERE e.`employee_id` IS NULL;


http://www.kler.cn/a/406677.html

相关文章:

  • 分布式 Data Warebase - 构筑 AI 时代数据基石
  • 如何在 MySQL 中进行数据导入和导出?
  • MacOS下的Opencv3.4.16的编译
  • Spark使用过程中的 15 个常见问题、详细解决方案
  • CSS布局学习2
  • 空间计算、物理计算、实时仿真与创造拥有「自主行为」的小狗 | 播客《编码人声》
  • 【SQL Server】华中农业大学空间数据库实验报告 实验九 触发器
  • VSCode快速生成vue组件模版
  • BEV:显示相机视角转换-----FastBEV/IPM与LSS
  • Unity Inspector窗口可编辑的脚本变量
  • day06(单片机高级)PCB设计
  • 解锁业务成功:大数据和 AI 如何协作以释放战略洞察
  • mac安装Pytest、Allure、brew
  • 【图像去噪】论文精读:Pre-Trained Image Processing Transformer(IPT)
  • Spark RDD Checkpoint 常用于需要高容错性或深度依赖链优化的场景,特别是在机器学习和大数据处理过程中。
  • Linux 使用gdb调试core文件
  • vpc云网络如何构建(理论篇)
  • 【数据分享】中国住户调查年鉴(2000-2024) PDF
  • 【Unity3D插件】Unity3D HDRP Outline高亮发光轮廓描边插件教程
  • Flutter:SlideTransition位移动画,Interval动画延迟
  • 基于SpringBoot实现的在线课程管理系统(代码+论文)
  • 科技部的国家一级资质科技查新机构有哪些?
  • 第 28 章 - Go语言 Web 开发入门
  • android 使用MediaPlayer实现音乐播放--基础介绍
  • Devexpress.Dashboard的调用二义性
  • GaussDB 华为高斯数据库