SQL:
select * from t_a a left join t_b b on a.bid = b.bid left join t_c c on a.cid = c.cid
t_a表
t_b表
t_c表
总的结果:
==============================================================
t_a表
t_b表
t_c表
总的结果表:
第二次带数据的sql:
# MySQL-Front 3.2 (Build 14.3)
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='SYSTEM' */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;
# Host: 127.0.0.1 Database: jointest
# ------------------------------------------------------
# Server version 5.0.22-community-nt
DROP DATABASE IF EXISTS `jointest`;
CREATE DATABASE `jointest` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `jointest`;
#
# Table structure for table t_a
#
CREATE TABLE `t_a` (
`aid` int(11) NOT NULL auto_increment,
`aname` varchar(11) default NULL,
`bid` int(11) default NULL COMMENT '引用自t_b的bid',
`cid` int(11) default NULL COMMENT '引用自t_c的cid',
PRIMARY KEY (`aid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Dumping data for table t_a
#
INSERT INTO `t_a` VALUES (1,'a名字1',1,1);
INSERT INTO `t_a` VALUES (2,'a名字2',NULL,2);
#
# Table structure for table t_b
#
CREATE TABLE `t_b` (
`bid` int(11) NOT NULL auto_increment,
`bname` varchar(11) default NULL,
PRIMARY KEY (`bid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Dumping data for table t_b
#
INSERT INTO `t_b` VALUES (1,'b名字');
#
# Table structure for table t_c
#
CREATE TABLE `t_c` (
`cid` int(11) NOT NULL auto_increment,
`cname` varchar(11) default NULL,
PRIMARY KEY (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#
# Dumping data for table t_c
#
INSERT INTO `t_c` VALUES (1,'c名字');
INSERT INTO `t_c` VALUES (2,'c名字2');
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
- 大小: 3.4 KB
- 大小: 3.3 KB
- 大小: 3.9 KB
- 大小: 6.2 KB
- 大小: 3.8 KB
- 大小: 4.2 KB
- 大小: 3 KB
- 大小: 6.2 KB
分享到:
相关推荐
MySQL中的LEFT JOIN是一种关联多个表的方法,用于返回左表的所有记录以及右表匹配的记录。在某些场景下,我们可能需要连接多个表来获取全面的数据信息。本篇文章将深入探讨MySQL多个LEFT JOIN连接查询的用法,通过...
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...
在执行Join操作时,数据库管理系统需要按照某种算法将多个表中的数据记录联合起来,并返回查询结果。Join操作的主要目的是为了方便地获取和组合分散在不同表中的相关数据。本文将详细解释MySQL Join操作的使用方法,...
Mysql 中的连接查询是指从多个表中检索数据,并将它们组合成一个结果集。inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner join inner join 又称等值连接,是指从两个表中选择...
在SQL查询中,LEFT JOIN操作用于连接两个或更多表,并保留左表(即第一个表)的所有记录,即使右表没有匹配的记录。当右表的某些字段在LEFT JOIN后为NULL时,我们可以利用函数来将这些NULL值替换为特定值,如0或其他...
MySQL的LEFT JOIN是一种关联查询操作,它用于合并两个或多个表的数据,并且返回所有左表(也就是在JOIN语句中位于LEFT关键字之后的表)的记录,即使在右表中没有匹配的记录。这个概念是数据库关系查询中的关键部分,...
在SQL查询中,`LEFT JOIN` 是一种连接两个或多个表的方法,以便从左表(通常是主表)中返回所有行,即使在右表中没有匹配的行。在这个过程中,`ON` 和 `WHERE` 子句都是用来指定条件的,但它们在查询逻辑中的作用...
MySQL中的LEFT JOIN是一种关联查询操作,它用于合并两个或更多表的数据,主要关注左表(第一个表)的所有记录,即使在右表(第二个表)中没有匹配的记录。LEFT JOIN的关键在于左表的所有记录都将被返回,而右表只...
了解这些JOIN类型后,你可以根据业务需求选择最合适的连接方式,有效地组合和分析来自多个表的数据。在进行复杂的多表查询时,熟练掌握JOIN操作至关重要,它能够帮助你优化查询效率,减少不必要的时间和资源消耗。 ...
首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从这些表中得到数据。JOIN 通常与 ON 关键字搭配使用,基本语法如下:`FROM table1 INNER|LEFT|RIGHT JOIN table2 ON condition`,其中 `table1` ...
MySQL中的JOIN操作是数据库查询中非常重要的一个概念,主要用于在两个或多个表之间建立关联,以便从这些表中检索所需的数据。在这个超详细的分析中,我们将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法。 1....
如果B表比A表大,`LEFT JOIN` 将创建一个与B表相同大小的结果集,然后进行筛选,这会消耗更多的内存和CPU资源。相比之下,`NOT IN` 和 `NOT EXISTS` 在两个集合比较时就完成了筛选,减少了额外的开销。 关于日志...
在MySQL数据库中,联表查询(也称为JOIN查询)是一种常用的数据检索方法,它允许从多个相关表中合并数据。LEFT JOIN(左连接)是其中一种类型,它返回所有左表(即连接操作的第一个表)的记录,即使在右表(第二个表...
mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...
在本场景中,`UNION ALL`可能用于合并多个`LEFT JOIN`查询的结果,以便一次性获取所有符合特定条件的文章及其分类信息。 结合使用`LEFT JOIN`和`UNION ALL`,我们可以构造一个复杂的查询,首先使用`LEFT JOIN`从...
在实际业务场景中,LEFT JOIN 可用于合并来自多个表的数据,比如,你可能需要获取所有产品的信息,即使某些产品没有相关的详细信息。在这种情况下,LEFT JOIN 能确保你获得完整的产品列表,即使某些产品缺少细节。 ...