(转)mysql联表查询

yizhihongxing

(转)MySQL联表查询

MySQL联表查询(Join),是针对多个表的查询操作。在数据库设计中,一个完整的数据信息往往需要多个表来存储,这时候就需要使用多表查询,以获取完整的数据信息。

一、内联接(INNER JOIN)

内联接是最最常用的联接方法。用 INNER JOIN 关键字连结表,并且只输出符合连接条件的行。

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

二、左联接(LEFT JOIN)

左联接(left join)也叫左连接,左外连接查询是一个比较常用的查询。左联接返回包括左表中所有记录和右表中连接字段相等的记录。若右表中没有匹配的记录,那么结果中右表列的值为空。

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

三、右联接(RIGHT JOIN)

右联接(right join)也叫右连接,右外连接查询与左外连接查询类似,它返回的结果集包括右表中的所有数据以及与左表连接字段相等的数据。

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

四、全联接(FULL OUTER JOIN)

全联接(full outer join)也叫全外连接,所谓全外连接,就是将左表与右表中的所有数据全部获取出来,并根据左表和右表之间的关联关系进行匹配。这样子的话,分别没有关联匹配的那些记录,我们也是要将它们全部输出出来。而这个时候,就需要用到另外一种连接方式了,那就是我们今天要讲的全外连接。

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

五、交叉联接(CROSS JOIN)

交叉联接(cross join) 也叫笛卡尔积(Cartesian product)联结,它是用来慢慢构建复杂查询的。

SELECT 
  column_name(s)
FROM 
  table1
CROSS JOIN 
  table2;

结束语

本文简要介绍了 MySQL 中常用的几种联表查询方法,但实际上还有更多更复杂的联表查询方式。对于需要多个表之间进行联合查询的情况,在实际应用中,应根据具体的业务逻辑选择适合的联表查询方式,以保证查询效率和查询结果的准确性和完整性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:(转)mysql联表查询 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • 浅谈shell数组的定义及循环

    浅谈shell数组的定义及循环 在Shell脚本中,数组是一个非常有用的概念,可以帮助我们更好地组织和管理数据。本文将介绍Shell数组的定义及循环操作。 定义一个数组 Shell支持两种类型的数组:普通数组和关联数组。普通数组只保存数值,而关联数组包含键值对。 定义一个普通数组,需要使用以下语法: array_name=(value1 value2 val…

    other 2023年6月25日
    00
  • 如何使用queue_delayed_work函数

    以下是如何使用queue_delayed_work()函数的完整攻略: 如何使用queue_delayed_work()函数 在Linux内核中,您可以使用queue_delayed_work()函数来延迟执行工作队列。以下是实现效果的步骤: 定义工作队列函数。 c static void my_work_func(struct work_struct *w…

    other 2023年5月7日
    00
  • mysql 5.7.11 winx64安装配置教程

    MySQL 5.7.11 winx64安装配置教程 MySQL是一种常用的关系型数据库管理系统,本文将针对Windows系统下MySQL 5.7.11 winx64版本的安装和配置进行详细讲解。 1. 下载MySQL 到MySQL官网下载MySQL Community Server 5.7.11 winx64版本。 2. 安装MySQL 运行下载好的MySQ…

    other 2023年6月20日
    00
  • python3对数据库的基本操作

    Python3对数据库的基本操作 Python3提供了许多库来连接和操作各种类型的数据库。在本文中,我们将介绍Python3中对数据库的基本操作,包括连接数据库、创建表、插入数据查询数据、更新数据删除数据。 连接数据库 在Python3中,我们可以使用不同的库来连接不同类型的数据库。以下是一些常用的库: MySQL:-connector-python Pos…

    other 2023年5月9日
    00
  • Highchart基础教程-图表的主要组成

    Highchart基础教程-图表的主要组成 Highcharts是一款功能强大的JavaScript图表库,可实现各种类型的图表,例如曲线图、饼图、散点图等。在使用Highcharts之前,我们需要了解图表的主要组成部分,以便更好地设计和定制自己的图表。 1. 图表容器 Highcharts图表呈现在一个容器或div中,容器是图表的父元素。我们需要在网页中创…

    其他 2023年3月28日
    00
  • jQuery如何封装输入框插件

    要封装一个jQuery输入框插件,可以遵循以下步骤: 步骤一:定义插件名称和默认参数 //定义插件名称和默认参数 $.fn.myInputPlugin = function(options){ //合并插件的默认参数和传入的参数 options = $.extend({}, $.fn.myInputPlugin.defaults, options); }; …

    other 2023年6月25日
    00
  • docker容器资源配额控制详解

    Docker容器资源配额控制详解 Docker是一种流行的容器化平台,它允许开发人员将应用程序及其依赖项打包到一个独立的容器中,以便在不同的环境中进行部署和运行。在实际应用中,我们可能需要对Docker容器的资源使用进行限制和控制,以确保系统的稳定性和可靠性。本文将详细介绍Docker容器资源配额控制的方法和示例。 1. CPU资源配额控制 Docker允许…

    other 2023年8月1日
    00
  • javascript实现瀑布流自适应遇到的问题及解决方案

    JavaScript实现瀑布流自适应遇到的问题及解决方案 前言 瀑布流是一种常见的网页布局方式,它采用多列布局的方式,利用绝对定位或浮动的方式实现流布局效果。随着移动设备的普及,响应式设计已经成为了网页设计中必不可少的技能之一。如何实现瀑布流的自适应是非常关键的一部分。在本文中,我们将介绍JavaScript实现瀑布流自适应时的问题及解决方案。 瀑布流的实现…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部