MySQL 篇-深入了解多表设计、多表查询
在MySQL中,多表设计和查询通常涉及到表之间的关系,如一对一、一对多和多对多关系。以下是针对多表设计和查询的一些示例代码:
一对多关系示例:
-- 创建部门表
CREATE TABLE department (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
-- 创建员工表,每个员工属于一个部门
CREATE TABLE employee (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
department_id INT,
FOREIGN KEY (department_id) REFERENCES department(id)
);
多对多关系示例:
-- 创建书籍表
CREATE TABLE book (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL
);
-- 创建作者表
CREATE TABLE author (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
-- 创建书籍与作者的关系表
CREATE TABLE book_author (
book_id INT,
author_id INT,
FOREIGN KEY (book_id) REFERENCES book(id),
FOREIGN KEY (author_id) REFERENCES author(id)
);
多表查询示例:
-- 查询每本书的标题和作者姓名
SELECT b.title, a.name
FROM book b
JOIN book_author ba ON b.id = ba.book_id
JOIN author a ON ba.author_id = a.id;
这些示例展示了如何在MySQL中设计和查询多表数据。通过使用JOIN语句,可以将多个表根据它们之间的关系结合起来,从而进行复杂的查询操作。
评论已关闭