MySQL跨表查询是指在一个查询语句中,从多个表中获取数据。这种查询通常涉及表之间的关联,如通过外键、主键或其他字段进行连接。跨表查询可以用于获取更复杂的数据结构,满足各种业务需求。
假设我们有两个表:students
(学生表)和scores
(成绩表)。students
表包含学生的基本信息,scores
表包含学生的成绩信息。我们需要查询某个学生的所有课程成绩。
-- 创建学生表
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50)
);
-- 创建成绩表
CREATE TABLE scores (
student_id INT,
course VARCHAR(50),
score INT,
FOREIGN KEY (student_id) REFERENCES students(id)
);
-- 插入示例数据
INSERT INTO students (id, name) VALUES (1, 'Alice');
INSERT INTO scores (student_id, course, score) VALUES (1, 'Math', 90);
INSERT INTO scores (student_id, course, score) VALUES (1, 'English', 85);
-- 跨表查询某个学生的所有课程成绩
SELECT s.name, sc.course, sc.score
FROM students s
INNER JOIN scores sc ON s.id = sc.student_id
WHERE s.name = 'Alice';
通过以上内容,你应该对MySQL跨表查询有了更全面的了解,并能够解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云