MySQL三表联查及添加简析(mysql三表联查添加)

MySQL三表联查及添加简析

在MySQL的操作中,经常需要查询多张表的数据,这时候就需要用到联表查询了。联表查询可以让我们在查询数据时,同时获取多张表中的数据,方便我们进行数据分析和处理。本文将介绍MySQL的三表联查操作,并且介绍如何进行添加查询等常见操作。

1. 三表联查

三表联查指同时查询三张表的数据,并且通过某些字段进行关联。下面以三张表为例,来介绍如何进行三表联查。

假设我们有三张表,分别是学生信息表、课程表和选课表。三张表的关系如下图所示:

![三张表关系图](https://img-blog.csdn.net/20180403194649109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTI3ODY0MzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)

现在我们需要查询所有选修了“高等数学”这门课程的学生姓名和成绩,可以通过以下SQL语句实现:

SELECT s.name, c.grade 
FROM student s
INNER JOIN sc ON s.sno = sc.sno
INNER JOIN course c ON sc.cno = c.cno
WHERE c.name = '高等数学';

其中,INNER JOIN是进行内连接,ON后面是指定连接条件。此外,我们也可以使用LEFT JOIN和RIGHT JOIN来进行左连接和右连接。

2. 添加查询

除了三表联查,我们还可以通过添加查询进行数据查询。假设我们需要查询选修了“高等数学”这门课程,但是成绩不及格的学生,可以通过以下SQL语句实现:

SELECT s.name, c.grade 
FROM student s
INNER JOIN sc ON s.sno = sc.sno
INNER JOIN course c ON sc.cno = c.cno
WHERE c.name = '高等数学' AND c.grade

其中,AND是逻辑运算符,用于在WHERE语句中进行多个条件的筛选。

3. 数据添加

除了数据查询,我们也可以通过INSERT INTO语句向数据库中添加数据。假设我们要向选课表中添加一条数据,选修了“高等数学”这门课程的学号为001的学生,成绩为90分,可以通过以下SQL语句实现:

INSERT INTO sc (sno, cno, grade) 
VALUES ('001', '001', 90);

其中,INSERT INTO是向表中插入数据的语句,(sno, cno, grade)表示要插入的字段,VALUES表示要插入的值。

综上所述,MySQL的三表联查、添加查询和数据添加等操作都是非常常见的数据库操作。在进行开发时,我们需要熟练掌握这些操作,并且根据实际需求进行灵活应用。


数据运维技术 » MySQL三表联查及添加简析(mysql三表联查添加)