数据库-MySQL-数据库设计-表的关联

关联查询

两张表,一张学生表,一张成绩表
在这里插入图片描述
在这里插入图片描述

SELECT student.`name`,exam.`chinese`,exam.`english`,exam.`math`
FROM student,exam
WHERE student.`id`=exam.`id`

在这里插入图片描述

若名字太复杂,可给表取一个别名

SELECT a.`name`,b.`chinese`,b.`english`,b.`math`
FROM student a,exam b
WHERE a.`id`=b.`id`

在这里插入图片描述

多表关联查询

多表关联查询:

1.内连接 INNER JOIN
2.外连接
左外连接:LEFT OUTER JOIN
右外连接:LEFT OUTER JOIN
全连接、交叉连接…

内连接 INNER JOIN

SELECT *
FROM student a INNER JOIN exam b
ON a.`id`=b.`id`

ON表示连接条件
在这里插入图片描述

SELECT *
FROM student a INNER JOIN exam b
ON a.`id`=b.`id`
WHERE a.`sex`=1

等价于

SELECT *
FROM student a INNER JOIN exam b
WHERE a.`id`=b.`id` AND a.`sex`=1

其中where表示连接条件

外连接多表查询

LEFT OUTER JOIN 也可简写为LEFT JOIN
左外连接(LEFT JOIN或LEFT OUTER JOIN) :包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行;
右外连接(RIGHT JOIN或RIGHT OUTER JOIN) :包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行;
全外连接(FULL OUTER JOIN) :包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行;

右外连接

SELECT *
FROM student a LEFT OUTER JOIN exam b
ON a.`id`=b.`id`

在这里插入图片描述

全外连接(FULL OUTER JOIN)

全外连接(FULL OUTER JOIN) :包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值