首页 > 其他分享 >5.2右连接

5.2右连接

时间:2024-09-18 22:53:10浏览次数:9  
标签:5.2 JOIN ykd 连接 teacher course 查询 id

语法:


我们来看一下右连接的语法

SELECT
  *
FROM
  TableA RIGHT JOIN 
  TableB 
  ON condition;

参考上一节的例子,现在我们想用右连接查询课程对应的老师(不管课程有没有对应的老师,都要展示课程信息),那么我们应该这么写SOL:

SELECT
  *
FROM
  ykd_teacher
  RIGHT JOIN ykd_course ON ykd_teacher.id = ykd_course.teacher_id;

[我们可以看到,因为每一个id都有匹配的数据,所以右连接查询得到的数据和左连接是一样的。]


在实际的应用中,完全匹配的情况比较少,我们手动执行一下下面的UPDATE语句,将两张表的关联id变得不完全一致:

UPDATE ykd_course
   SET teacher_id= 5
 WHERE teacher_id= 1;

我们再手动执行一下下面两个关联查询:

SELECT
  *
FROM
  ykd_teacher
  LEFT JOIN ykd_course ON ykd_teacher.id = ykd_course.teacher_id;
SELECT
  *
FROM
  ykd_teacher
  RIGHT JOIN ykd_course ON ykd_teacher.id = ykd_course.teacher_id;

我们可以看到查询的结果因为左连接或者右连接不一致,当左连接时,会返回左表的所有数据,当右连接时会返回右表的所有数据。

多表关联查询


在实际应用中,我们有时候会对三张表以上进行关联查询,在这种情况下,我们往往会选中一张表作为主表,以它为基准,进行LEFTJOIN 或 RIGHT JOIN 查询。


[只会使用 A LEFT JOIN B \A LEFT JOINC。

不要出现A RIGHT JOIN B \ B RIGHT JOINC这种情况 ]

语法:

SELECT
  *
FROM
  TableA 
  LEFT JOIN TableB ON conditionA
  LEFT JOIN TableC ON conditionB;

比如我们对ykd_student,ykd_course,ykd_teacher这三张表进行关联查询,我们的应该这么写SQL:

SELECT
  *
FROM
  ykd_course
  LEFT JOIN ykd_student ON ykd_student.course_id = ykd_course.id
  LEFT JOIN ykd_teacher on ykd_course.teacher_id = ykd_teacher.id;

ABC多表查询的本质是A先和B关联查询,然后再和C进行关联查询更多表格的场景中,原理也是一致的。

标签:5.2,JOIN,ykd,连接,teacher,course,查询,id
From: https://blog.csdn.net/Mtf520/article/details/142319473

相关文章

  • 最终版本的pom.xml(springboot连接hive)
    1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://maven.apa......
  • 1. 如何在Java中连接MySQL数据库?请解释使用JDBC连接的步骤。
    要在Java中连接MySQL数据库,通常使用JDBC(JavaDatabaseConnectivity)API。这是一个用于执行SQL语句的JavaAPI,可以用来访问关系型数据库。下面是使用JDBC连接MySQL数据库的详细步骤:1.添加MySQLJDBC驱动首先,需要确保项目中包含MySQL的JDBC驱动程序。这个驱动程序通常是一个......
  • springboot连接hive数据库的依赖配置
    pom.xml1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://......
  • 【MySQL】使用C语言连接数据库
           看到标题,可能会疑惑,我们学习的不是C++吗,为什么使用C语言去连接数据库呢??实际上,这两种语言都可以连接数据库,但是C语言提供的API没有进行封装,更有利于我们学习数据库连接。面向API编程,哈哈哈哈哈哈!!!!!一、安装适合自己平台的mysqlconnect库    因为我使用......
  • ‌SQL Server支持ODBC连接吗
    ODBC(OpenDatabaseConnectivity,开放数据库互连)是一个数据库访问接口标准,由微软提出,它定义了访问数据库的API规范,这些API独立于不同的数据库管理系统(DBMS)和具体的编程语言。ODBC允许应用程序通过标准化的接口与不同类型的数据库进行交互,包括SQLServer。利用ODBC进行数据库连接,开......
  • 互连产品,10151114-001RLF PCIe MXM 3.0 连接器,10157096-01221LF 针座连接器(参数)
    10151114-001RLF——PCIeMXM3.0连接器,存储和服务器连接器,直角,表面贴装,P=0.5mm,堆叠高度=5.0mm,30μin镀金概述:MXM连接器是一种高密度PCIe®解决方案,支持新一代服务器系统架构。这是一个非专有的行业标准插座产品系列。可用于升级设备中的图形处理器,而无需更改整个系统或依赖专......
  • 使用客户端连接Mysql服务器.
    Mysql客户端软件有很多种,这种软件的目的就是为了连接到Mysql服务器,提供了一种图形化界面操作数据库的工具。[1]Navicat[2]Sqlyog[3]mysql黑窗口客户端界面。[4]Idea连接mysql...第一种:第二种:第三种:(这里我们使用idea居多,所以着重的说一下)......
  • zblog安装时出现您在zb_users/c_option.php内配置、或刚才填写的的 MySQL 连接信息是
    当你在安装Z-BlogPHP时遇到“您在 zb_users/c_option.php 内配置、或刚才填写的MySQL连接信息是否正确?”的提示时,这通常意味着数据库连接配置存在问题。以下是详细的排查和解决步骤:1.检查数据库连接配置首先,确保数据库连接配置正确。你需要检查以下几个方面:步骤1:查看......
  • BLE配对时期望主机采用设置的连接参数配置
    测试发现,部分蓝牙主机会在连接上我们设备之后分配较大的连接间隔,即使我们后续将连接间隔协商至较小值后,也会被主机更新回较大的间隔。可在BLE初始化阶段将以下参数配置进去,由蓝牙协议栈在配对期间告知主机我们所需要的连接参数即可,gapPeriConnectParams_tConnectParams;Conne......
  • zblog无法登陆后台 数据库连接错误
    当Z-Blog无法登录后台并且提示“数据库连接错误”时,这通常意味着Z-Blog无法正确地连接到数据库。这种问题可能由多种因素引起,包括数据库配置错误、数据库服务未启动、文件权限问题等。以下是一些可能的解决步骤:1.检查数据库配置问题描述:数据库配置可能不正确。解决方法:......