数据库中经常要用到多个表的关联。mysql的关联主要包括inner join,left join,right join三种,下面分别加以介绍,并举例说明。
顾名思义,inner join集合了两个表的信息,只有都包含的才关联在一起。
left join以第一个表为准,后一个表信息不完整记为NULL
right join以第二个表为准,前一个表信息不完整记为NULL
此外要注意,一个关联条件对应到表中可能对应好几条信息,这样需要将这些信息都关联出来。
举例说明:
建立如下三张表article,us,type:
下面只详细介绍右关联,其他的关联只给出语句以及最后的结果。
首先做前两张表的右关联
select article.aid,article.title,us.username from article right join us on article.uid=us.uid;
由于是有关联,是以us表为准的。us.uid为1的在article中有两项结果,而us.uid为3的在article中没有,所以最后得到的结果如下:
接着在这个结果上继续右关联type表
select article.aid,article.title,us.username,type.typename from article right join us on article.uid=us.uid right join type on article.tid=type.tid;
此时将以type表为准,对于上面的关联结果,实际上aid1->tid:1,aid2->tid:2,aid3->tid:1,所以最后得到结果如下:
对于inner join和left join,和上面类似,就介绍简单的两表关联吧。
注意这里第一个表是:us
相关推荐
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...
MySql,多表联合查询加AS语句,多余的就不说了,自己看,绝对简单!
首先,我们考虑一个典型的多表关联场景,用户表(user)与部门表(dept)通过一个关联表(deptuser)进行连接。在这个场景下,我们需要决定在deptuser表中为哪些字段创建索引。通常,我们可以选择创建单列索引或组合索引。...
在MySQL数据库中,进行多表关联统计是常见的需求,特别是在数据分析和业务报表中。本示例探讨了如何处理涉及四个表的复杂统计问题,包括`book`(书本表)、`orders`(订单表)、`reward_log`(打赏表)和`consume_...
sqlserver,oracle,mysql多表关联更新数据
### Kettle全量多表数据同步 #### 一. 建立资料库 在进行全量多表数据同步之前,首先需要建立一个资源库来存放所有的转换和作业。资源库是Kettle的一个核心概念,它用于存储和管理转换、作业和其他与数据处理相关...
Mysql省市区关联,项目中需要用到省市区的表,找到了现行省市区规划的Excel,之后用java读取解析后载入到了数据库中。 分为【sys_province】【sys_city】【sys_county】三表。 三个表均加了是否有效,喜好排序,等...
NOT IN 是一种常见的排除条件查询方式,在多表关联查询中用于排除特定记录。例如,如果想要找出表A中的记录,但排除那些在表B中存在的记录,则可以使用如下SQL语句: ```sql SELECT * FROM tableA WHERE tableA.id ...
Mysql学习中 ,单表查询每个人都很...但是多表之间的关联查询对于初学者是很难掌握的,以下是我学习中,结合老师所讲例子作的总结,主要就是三张表的关联查询。还包括group by操作。Join on;left join on;group by。
用户MySQL8.0练习的表清单和关联关系图
3. **关联字段(Foreign Key)**:多表关联的基础是外键,它在一个表中的字段引用另一个表的主键。在Delphi中,可以设置TTable组件的ForeignFieldNames属性来指定关联的字段。 4. **SQL JOIN操作**:在SQL中,JOIN...
首先,我们回忆一下,MySQL多表关联查询的语句: student表: calss表: 通过student的classId关联进行查询学生名称,班级的数据: SELECT student.name,student.age,class.name FROM student,class WHERE student...
本案例中的"全国行政区域省市区代码 MySQL多表设计+数据"是一个典型的地理信息存储方案,适用于构建诸如人口统计、物流配送、销售分析等系统。下面我们将深入探讨这个主题。 首先,我们看到有三个SQL脚本文件:`...
尽管这是一个相对简单的例子,但如果涉及到更多表和更复杂的过滤条件时,这样的查询可能变得非常混乱。 #### 2. ANSI风格:ON 关键字 为了解决传统风格带来的问题,ANSI标准引入了一种更清晰的方式来表示表间的...
mysql多表联合查询 表连接的约束条件 MySQL如何优化LEFT JOIN和RIGHT JOIN
MySQL关联查询是数据库操作中的重要概念,用于在多个表之间建立连接,以便从不同表中检索相关数据。关联查询能够让我们在单个SQL语句中处理来自多个表的数据,极大地提高了数据查询的效率和灵活性。这里我们将深入...
Spring Boot 2 基于 MyBatis 实现多表关联查询 Spring Boot 2 是目前非常流行的 Java 框架,它提供了许多强大的功能,例如自动配置、 starters 机制等。MyBatis 是一个流行的持久层框架,提供了强大的数据库交互...