left join
join
主外键是两种对表的约束。
例如:
学生表student(学号(id),姓名(name),性别(sex))
表内有:1,aa,女
课程表subject(课程编号(id),课程名(name))
表内有:1,语文
成绩表grade(成绩编号(id),学号(stu_id),课程号(sub_id),成绩(grade))
表内有:1,1,1,90
成绩表的学号就是学生表的学号相对应,并且为学生表的主键,这样就称成绩表中的学号是学生表的外键,同理,成绩表中的课程号是课程表的外键。
select * from student as s inner join subject as su on su.stu_id=s.id inner join grade as g on g.sub_id=su.id where 1.
注意事项
SQL 连接(JOIN) 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。
左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。
假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。
不同的 SQL JOIN可以使用的不同的 SQL JOIN 类型:
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行(MySQL不支持FULL JOIN)
例如:
mysql> select * from access_log;
+-----+---------+-------+------------+
| aid | site_id | count | date |
+-----+---------+-------+------------+
| 1 | 1 | 45 | 2016-05-10 |
| 2 | 3 | 100 | 2016-05-13 |
| 3 | 1 | 230 | 2016-05-14 |
| 4 | 2 | 10 | 2016-05-14 |
| 5 | 5 | 205 | 2016-05-14 |
| 6 | 4 | 13 | 2016-05-15 |
| 7 | 3 | 220 | 2016-05-15 |
| 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
+-----+---------+-------+------------+
9 rows in set
MySQL数据库三种关系解析mysql三种关系
一对一关系 一对一关系表示一个实体仅与另一个实体存在一个对应关系。例如,一个人只有一个身份证号码,一个身份证号码也只对应一个人。在 MySQL 中,可以使用外键来实现一对一关系。例如,如果一个表中的某个字段为另一个表的主键,则这两个表之间就存在一对一关系。CREATE TABLE person (person...
MySQL表间关联字段分析mysql不同表字段关联
在MySQL数据库中,关联字段是表之间进行关联操作的重要条件。通过关联字段,可以在多张表之间建立关系,实现数据的联合查询和更新等操作。本文将从关联字段的定义、使用方法以及常见问题进行详细介绍。一、关联字段的定义 关联字段是两个或多个表之间进行关联操作时所使用的字段。在MySQL中,关联字段通常是两...
mysql数据库表之间是怎么关联的?请详解
主外键是两种对表的约束。例如:学生表student(学号(id),姓名(name),性别(sex))表内有:1,aa,女 课程表subject(课程编号(id),课程名(name))表内有:1,语文 成绩表grade(成绩编号(id),学号(stu_id),课程号(sub_id),成绩(grade))表内有:1,1,1,90 成绩表的学号就是...
详解mysql两表全关联实现数据关联与查询mysql两表全关联
全关联查询(也称全外连接)是一种关联方式,它能够同时查询两个表中的所有记录,包括它们之间没有任何匹配关系的记录。换句话说,就是将两个表中的所有数据全都取出来,并把它们以某种方式进行组合。下面我们通过一个简单的例子来说明这种查询的原理。假设我们有两个表A和B,它们之间没有建立任何外键关...
MySQL数据表同步的详细解析mysql两表同步详解
MySQL是一种开源关系型数据库管理系统,它是最流行的数据库之一。在一些应用场景中,需要将数据从一个MySQL数据表同步到另一个MySQL数据表。本文将详细解析MySQL数据表同步的实现原理及应用。一、MySQL数据表同步的实现原理 MySQL数据表同步可以采用多种方法,其中比较常见的有基于binlog日志的同步和基于主从...
MySQL三表内联操作详解mysql三张表内联
MySQL是目前最流行的关系型数据库管理系统之一,支持多种底层存储引擎,并且具有良好的可扩展性和可靠性。其中,内联操作是MySQL中重要的操作之一,能够实现多个表之间的联合查询,作为关系型数据库的核心之一,其学习和理解对于开发者来说至关重要。MySQL内联操作可以分为两种:内部连接和外部连接。本文将着重...
教你轻松搞定MySQL两表关联实战操作指南mysql两表如何关联
MySQL是一种最为广泛使用的开源关系型数据库管理系统,与其它数据库相比,它更具有效率、易用性和可靠性。这些特点使它成为众多组织和机构的首选数据库之一。与此同时,MySQL的表关联功能也是它的一大特点。表关联是通过在两个或多个表之间建立关联以实现数据共享的过程,通过它,可以从多个表中获取相关...
MySQL内联接实现两表关联查询mysql两表内联接
在数据库中,表与表之间具有相互关联的特性。因此,在查询数据时,经常需要通过多张表的关联来获取需要的信息。MySQL内联接就是其中的一种关联方式,可以实现两张表的关联查询。MySQL内联接的概念 MySQL内联接又称为INNER JOIN,是一种关联查询方式,可以返回两张表中满足指定条件的数据集。内联接根据两...
MySQL表同步方法详解实现不同表数据自动同步mysql不同表数据同步
MySQL表同步方法详解:实现不同表数据自动同步!在数据库中,有时需要将一个表的数据自动同步到另一个表中,这个过程通常称为表同步。MySQL提供了多种表同步方法,可以根据实际需求选择合适的方法。本文将详细介绍MySQL表同步方法及其实现步骤。一、基于触发器的表同步方法 触发器是MySQL中的一种特殊的存储...
MySQL中关联关系优化数据库表设计mysql中关联关系
MySQL是一种关系型数据库管理系统。在设计数据库时,合理的关联关系是优化数据表设计的关键。在本文中,我们将介绍如何在MySQL中创建、维护和优化表之间的关系。1. 了解关系型数据库 关系型数据库管理系统是一种使用关系模型创建和管理数据的软件。在关系模型中,数据以分组的形式存在,每个数据分组称为一...