MySQL数据库操作——联表查询+范式

本文深入解析Mysql数据库的内连接、左外连、右外连及全连接操作,阐述如何通过联表查询高效检索数据。同时,探讨数据库设计的第一范式和第二范式,指导如何优化数据库结构,减少数据冗余。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql数据库-多表(联表)查询

在这里插入图片描述

数据库中联表查询:

在这里插入图片描述

内连接:查询重合部分,inner join

     语法:select 表名.字段名,表名.字段,….from 表名1 inner join 表名2 on(条件)|where 条件

     结果:查询出表1和表2的交集

在这里插入图片描述
在这里插入图片描述

外连接:分为左外连和右外连 left join(left out join)和right join(right out join)

在这里插入图片描述

左外连:将在left join左边的表中所有数据全部查询(除了存在交集的部分,还会将左表剩下的部分查询显示),没有的使用null填充
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
右外连:将在right join右边的表中所有数据全部查询,没有的使用null填充
在这里插入图片描述
在这里插入图片描述
全连接:union(合并,但是mysql不支持,使用left join union right join)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在查询语句后面继续添加order by设置结果的升序和降序,默认为升序(ASC),还可以设置降序(DESC)

语法:select ……from….where……order by ASC|DESC

提示:所有数据库一般默认都是升序,只有需要使用降序显示时使用该语法

如果想要只获取查询结果的某部分区间数据结果时可以使用

语法:limit 开始索引,获取行数

在这里插入图片描述

数据库三大范式:用于减少冗余(重复的数据)数据

第一方式:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项

比如用户的地址字段:

没有遵循第一范式的设计方式是直接将”地址”设置为一个字段

遵循第一范式的设计是将”地址”拆分为”省份” “城市” “详细地址”三个字段。

第二范式:

  1. 必须先满足第一范式

  2. 要求表中的字段完全依赖于主键。所谓完全依赖是指不能存在仅依赖主键一部分的字段

一张表中只能存在一种数据,而不能讲多种数据保存在一张表中
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值