首页 > 其他分享 >查询篇 JOIN语法

查询篇 JOIN语法

时间:2023-10-16 17:14:40浏览次数:29  
标签:JOIN 列名 别名 查询 语法 连接 SELECT

JOIN语法讲解

在 MySQL 中,JOIN 是用于将两个或多个表中的行基于相关列的值进行连接的操作。这里将介绍几种常见的 JOIN 类型及其语法。

  1. 内连接(INNER JOIN):返回两个表中匹配的行。
SELECT 列名
FROM 表1
INNER JOIN 表2 ON 表1.列 = 表2.列;
  1. 左连接(LEFT JOIN):返回左表中的所有行,以及与右表匹配的行。
SELECT 列名
FROM 表1
LEFT JOIN 表2 ON 表1.列 = 表2.列;
  1. 右连接(RIGHT JOIN):返回右表中的所有行,以及与左表匹配的行。
SELECT 列名
FROM 表1
RIGHT JOIN 表2 ON 表1.列 = 表2.列;
  1. 全连接(FULL JOIN):返回两个表中的所有行,无论是否匹配。
SELECT 列名
FROM 表1
FULL JOIN 表2 ON 表1.列 = 表2.列;

在上述语法中,表1表2 是要连接的表名, 是用于连接的列名。通过 ON 关键字指定连接条件,即两个表中要匹配的列。通过 SELECT 子句选择要返回的列。

还可以使用更复杂的 JOIN 语句,例如在一个查询中连接多个表,或者在连接条件中使用多个列。根据具体情况选择适当的 JOIN 类型和语法来满足你的需求。

表明过长可以使用AS语法简写【推荐】

如果表名太长,你可以使用 AS 关键字为表起一个别名,以简化查询语句。以下是使用别名的示例:

  1. 内连接(INNER JOIN):

    SELECT 列名
    FROM 表1 AS 别名1
    INNER JOIN 表2 AS 别名2 ON 别名1.列 = 别名2.列;
    
  2. 左连接(LEFT JOIN):

    SELECT 列名
    FROM 表1 AS 别名1
    LEFT JOIN 表2 AS 别名2 ON 别名1.列 = 别名2.列;
    
  3. 右连接(RIGHT JOIN):

    SELECT 列名
    FROM 表1 AS 别名1
    RIGHT JOIN 表2 AS 别名2 ON 别名1.列 = 别名2.列;
    
  4. 全连接(FULL JOIN):

    SELECT 列名
    FROM 表1 AS 别名1
    FULL JOIN 表2 AS 别名2 ON 别名1.列 = 别名2.列;
    

在上述语法中,别名1别名2 是为表起的别名,用于代替长表名。你可以根据需要选择适当的别名,并在查询中使用它们来引用相应的表。

使用别名不仅可以简化查询语句,还可以提高可读性和维护性,特别是在连接多个表时。

标签:JOIN,列名,别名,查询,语法,连接,SELECT
From: https://www.cnblogs.com/laraveler/p/17767787.html

相关文章

  • MYSQL:由一条慢查询引入思考 (MYSQL8)
    原文地址:https://mp.csdn.net/mp_blog/creation/editor/130300178​ 开始之前,我们先思考以下几个问题(下文将围绕以下三个问题展开):1.什么是慢查询,查询多少秒以上算是慢查询?2.如何解决慢查询和如何避免慢查询?3.提升查询性能必知必会 目录一、慢查询1.1 什么是慢查询?......
  • mysql常用查询
    1、Mysql查询某个表的字段名selectCOLUMN_NAMEfrominformation_schema.COLUMNSwheretable_name='business_info'; 2、生成数据字典selectTABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,COLUMN_COMMENTfrominformation_schema.columnswhereTABLE_SCHEMA......
  • SQL语句的基本使用5-多值子查询
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13074这个作业的目标SQL语句的基本使用5-多值子查询1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日......
  • 大集合里查询数据-布隆过滤器
    1.问题场景有100亿个url被加入了黑名单,现在提供一个url要去判断是否属于黑名单。也就是一个很简单的一个东西是否属于一个集合的问题。一般来说用set就能解决这种问题,但是由于url数目太多,内存中无法开辟一个这么大的空间去存放所有url,这个时候就需要我们去使用一种结构,去减少状......
  • gorm 使用where in 条件查询时,使用uint8[] 类型报错的解决方案
    出现问题:在开发过程中,遇到这样一个问题,GORMModel如下:typeTeststruct{ ... cloumnTypeuint8`gorm:"notnull;default:0"`...}其中有一个类型字段,数据范围是1-10所以使用uint8字段来存储,在查询某些类型的数据时,使用了下面的查询语句varlist[]model.......
  • [Vue]模板语法和MVVM
    模板语法分为:①插值语法、②指令语法插值语法{{xxx}}指令语法v-bind:attr='xxx' 注意v-bind:只是一种指令,指令可以有很多种。v-bind:可以简写为:<body><divid="root"><h1>插值语法</h1><h3>{{name}}</h3><hr/&g......
  • BitBake使用攻略--BitBake的语法知识二(转载自https://www.cnblogs.com/chegxy/archive
    目录写在前面1.BitBake中的任务2.任务配置2.1依赖2.1.1内部任务间的依赖2.1.2不同菜谱下的任务间依赖2.1.3运行时态下的依赖2.1.4递归依赖2.1.5任务间的依赖2.2事件2.3校验和3.ClassExtensionMechanism 写在前面这是《BitBake使用攻略》系......
  • update left join 在MySQL和SQL Server使用方式区别
    (1)MySQL使用UPDATEhayl_service_infot1leftjoinhayl_Old_infot2ont1.CERT_NO=t2.CERT_NOsett1.AAP0112=t2.ADDRESSwheret1.AAP0112=''(2)SQLServers使用UPDATEhayl_service_infosetAAP0112=t2.ADDRESSfromhayl_service_infot1leftjoin......
  • 数字人论文:Audio-Driven Facial Animation by Joint End-to-End Learning of Pose an
    老规矩.直接第三章3.端到端网络结构给一个audio短窗口,也就是片段.我们预测窗口中间时刻的面部表情.我们把表情看做一个全端点的向量(后面我们会看这是什么的一种刻画面部)一旦我们网络训完,我们回各个时间点同时生成,并行.即使不需要过去的帧画面,依然生成很稳定的......
  • Scala语言入门:初学者的基础语法指南
    本文已收录至GitHub,推荐阅读......