MySQL多表查询——等值连接查询

多表关系:

项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:
(1)一对多(多对一)
(2)多对多
(3)一对一
MySQL多表查询——等值连接查询_第1张图片

 多对多:

案例 : 学生 与 课程的关系
关系 : 一个学生可以选修多门课程,一门课程也可以供多个学生选择
实现 : 建立第三张中间表,中间表至少包含两个外键,分别关联两方主键
MySQL多表查询——等值连接查询_第2张图片

 MySQL多表查询——等值连接查询_第3张图片

多表查询就是指从多张表中查询数据 SELECT * FROM goods,category;

笛卡尔乘积现象

MySQL多表查询——等值连接查询_第4张图片

MySQL多表查询——等值连接查询_第5张图片

 等值连接查询:

通常是在存在主键外键关联关系的表之间的连接进行,使用 "=" 连接相关的表
n 个表进行等值连接查询,最少需要 n-1 个等值条件来约束
eg:
-- 查询每个分类的所有商品信息
SELECT category .name ,goods .name FROM goods,category WHERE
goods .category_no = category .no ;
MySQL多表查询——等值连接查询_第6张图片

 

你可能感兴趣的:(mysql,数据库)