Mysql---多表查询和子查询

一、多表

1、表与表之间的关系与实现

1.1、一对一

实现:在任何一方添加外键指向另一方法的主键

1.2、一对多

实现:在多的一方建立外键,指向一的一方的主键

1.3、多对多

实现:需要借助第三张中间表。中间表至少要包含两个字段,这两个字段都是外键,分别指向两张主表的主键。

二、多表查询

2.1、交叉查询

语法:select 字段列表 from 表1, 表2;

交叉查询的结果是笛卡尔积,是两张表所有记录的组成情况。

我们需要使用条件来去除掉无用的数据。

2.2、内连接查询

在交叉查询的基础上使用where条件消除无用的数据

语法: 1. 隐式内连接

select 字段列表 from 表1, 表2 where 条件;

2、显示内连接

select 字段列表 from 表1 [inner] join 表2 on 条件;

2.3、外连接查询

语法:

1. 左外连接

select 字段列表 from 表1 left [outer] join 表2 on 条件;

2、右外连接

select 字段列表 from 表1 right [outer] join 表2 on 条件;

内连接查询的结果是两表的交集

左外连接查询的结果是左表的全部和两表的交集

右外连接查询的结果是右表的全部和两表的交集

三、子查询

概念:查询中嵌套查询

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容