mysql数据库表之间是怎么关联的?请详解

left join join 主外键是两种对表的约束。例如:学生表student(学号(id),姓名(name),性别(sex))表内有:1,aa,女 课程表subject(课程编号(id),课程名(name))表内有:1,语文 成绩表grade(成绩编号(id),学号(stu_id),课程号(sub_id),成绩(grade))表内有:1,1,1,90 ...
mysql数据库表之间是怎么关联的?请详解
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
2022-11-16
mengvlog 阅读 34 次 更新于 2025-09-10 07:11:30 我来答关注问题0
  • 主外键是两种对表的约束。例如:学生表student(学号(id),姓名(name),性别(sex))表内有:1,aa,女 课程表subject(课程编号(id),课程名(name))表内有:1,语文 成绩表grade(成绩编号(id),学号(stu_id),课程号(sub_id),成绩(grade))表内有:1,1,1,90 成绩表的学号就是...

  • 可以看到,这个结果集包含了A表和B表中的所有记录,并用null值填充了两个表中缺少的记录。方法二:使用外连接操作符 使用外连接操作符可以实现两个表的全外连接。在MySQL中,主要有三种外连接操作符可供选择,分别是LEFT OUTER JOIN、RIGHT OUTER JOIN和FULL OUTER JOIN。由于本文主要讲解两表全关联查...

  •  云易网络科技 25个字能表达清楚题意的标题如下MySQL表关联方式大全mysql表关联方式

    1、Inner Join:Inner Join关联也叫等值关联。它通过检索给定字段或条件中存在等值关系的记录,把它们连接起来构成新的记录。一般用于查询满足特定条件的记录,关联的语句为:SELECT 字段名 FROM 表1 INNER JOIN 表2 ON 表1.字段名=表2.字段名 2、Left Join:Left Join关联又叫左外连接,他在等值关...

  • 三表关系是指在一个SQL语句中,涉及到了三个或以上的表格,在多个表格之间进行数据操作。在MySQL中,我们通常使用JOIN语句来实现多表关联。具体分为左连接、右连接、内连接和全连接等。下面我们以三个表格(t1, t2, t3)为例,演示如何实现不同类型的连接。内连接:内连接是指只返回两个表格中共有的...

  •  武汉誉祥科技 如何暂时关闭mysql数据库?

    关闭MySQL数据库服务,是一种临时性的操作方法。在有需要时,可以通过重新启动服务来恢复数据库功能。具体操作步骤如下:打开“运行”对话框,输入“services.msc”并回车,进入服务管理界面。在服务列表中找到“MySQL”服务,右键选择“暂停”。此时,MySQL服务将停止运行,数据库也随之关闭。需要时,再次...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部