mysql的内连接,左连接和右链接查询详解

MySQL的内连接、左连接和右连接查询详解

内连接(Inner Join)

内连接也叫等值连接,表示两张表中字段相等的数据行才会被查询出来。内连接常用的语法格式是:

SELECT column_name(s) 
FROM table1 
INNER JOIN table2 
ON table1.column_name = table2.column_name;

示例1:假设有两个表student和score,它们有共同的字段student_id,要查询每个学生的学号和分数,应使用内连接查询:

SELECT s.student_id, sc.score 
FROM student s 
INNER JOIN score sc 
ON s.student_id = sc.student_id;

左连接(Left Join)

左连接可以查询出左表的所有行,同时将相应与右表相关的行组合在一起。如果右表中没有与左表相关的行,则右表会以NULL值填充。左连接的语法格式如下:

SELECT column_name(s) 
FROM table1 
LEFT JOIN table2 
ON table1.column_name = table2.column_name;

示例2:假设有两个表student和score,此时要查询所有学生的学号和分数,无论该学生是否有分数记录,应使用左连接查询:

SELECT s.student_id, sc.score 
FROM student s 
LEFT JOIN score sc 
ON s.student_id = sc.student_id;

右连接(Right Join)

右连接与左连接相反,可以查询到右表的所有行,同时将相应的与左表相关的行组合在一起。如果左表中没有与右表相关的行,则左表会以NULL值填充。右连接的语法格式如下:

SELECT column_name(s) 
FROM table1 
RIGHT JOIN table2 
ON table1.column_name = table2.column_name;

示例3:假设有两个表student和score,此时要查询每个课程的分数和学生姓名,无论该课程是否有学生选课,应使用右连接查询:

SELECT s.name, sc.score 
FROM student s 
RIGHT JOIN score sc 
ON s.student_id = sc.student_id;

以上就是MySQL的内连接、左连接和右连接查询的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql的内连接,左连接和右链接查询详解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL之权限以及设计数据库案例讲解

    MySQL之权限 MySQL作为一种高效、可扩展、跨平台的数据库管理系统,拥有丰富的安全机制,其中之一就是权限管理。数据库的权限可以通过GRANT、REVOKE命令进行设置与取消。 GRANT命令 GRANT命令用于授权用户或角色访问某个数据库、某张表或者某个列的权限,其语法如下: GRANT permission ON object TO user | r…

    database 2023年5月22日
    00
  • Mysql中时间戳转为Date的方法示例

    Mysql中存储时间戳和日期时间类型的数据,不同的数据类型在不同的场景下有不同的用途。如果需要将存储的时间戳转换为日期格式,可以利用Mysql中的日期函数来完成,下面就是将此完成的方法的详细攻略。 一、时间戳转化为日期格式的函数 MySQL提供了from_unixtime函数和date_format函数来进行时间戳的转化。前者可以将UNIX时间戳转化为标准的…

    database 2023年5月22日
    00
  • 实现在线 + 离线模式进行迁移 Redis 数据实战指南

    下面我就详细讲解一下“实现在线 + 离线模式进行迁移 Redis 数据实战指南”的完整攻略。 1、在线迁移 在线迁移是指在 Redis 服务运行正常的情况下,将部分或全部数据迁移到新的 Redis 服务上,而原先的 Redis 服务依然在运行状态。在线迁移有如下两种方法: 1.1 使用 Migrate 命令 Migrate 命令是 Redis 提供的一个在线…

    database 2023年5月22日
    00
  • MySql中的常用参数查询

    MySql中的常用参数查询涉及到数据库中一些常用的参数设置,包括数据类型、字段长度、索引、外键等。下面我将为您讲解详细的攻略。 一、查看数据库参数 我们可以使用以下命令来查看数据库的参数: show variables; 这条命令可以查看所有的参数设置,以及对应的值。 MySQL中有很多参数,包括InnoDB的参数,MyISAM的参数,以及全局性的参数等。我…

    database 2023年5月22日
    00
  • SpringBoot MongoDB 索引冲突分析及解决方法

    SpringBoot MongoDB 索引冲突分析及解决方法 背景 在使用 SpringBoot 集成 MongoDB 的过程中,我们常常会遇到索引报错的问题。这是因为在一个 MongoDB 集合中创建了多个索引,这会导致索引之间冲突,进而产生异常。 分析 为了解决索引冲突的问题,我们需要从以下几个方面进行分析: 1. 查看 MongoDB 集合中的索引 可…

    database 2023年5月22日
    00
  • mysql模糊查询1,11,111用逗号(其他符号)拼接的相似字符串

    mysql进行模糊查询时,基本都是LIKE “%sss%”,有时候这种查询时准确的,但是有种情况这种查询会出现很大问题。 看一下下面这张表 如果想查询字段test包含1的数据,一般我们会用常规方式查询,如下: SELECT * FROM c_test WHERE test LIKE “%1%” 但是查询结果不尽人意,如下:   不仅把包含1的查出来了,包含1…

    MySQL 2023年4月13日
    00
  • 菜鸟学Linux命令:ssh命令(远程登录)

    菜鸟学Linux命令:ssh命令(远程登录) 什么是ssh命令? ssh是Secure Shell的缩写,SSH是一种加密网络协议。它可以通过与 sshd 守护进程配合,实现对远程登录会话和其他网络服务的加密,防止中间人窃听和欺骗。 基本语法 ssh [user@]hostname [command] 参数说明: user:登录远程主机所使用的用户名,默认值…

    database 2023年5月22日
    00
  • Windows 本地安装mysql8.0

    前言 看了网上许多关于Windows 本地安装mysql的很多教程,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。现我将自己本地安装的步骤总结如下,如有不对的地方,敬请大家批评指正!!! 安装环境:win7/10 一、下载Mysql的安装包 我本地安装是Mysql8.0的版本,所…

    MySQL 2023年4月14日
    00
合作推广
合作推广
分享本页
返回顶部