欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

程序员文章站 2024-03-08 16:46:34
...

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

猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

数据库中联表查询:

猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

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

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

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

猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

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

猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

左外连:将在left join左边的表中所有数据全部查询(除了存在交集的部分,还会将左表剩下的部分查询显示),没有的使用null填充
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
右外连:将在right join右边的表中所有数据全部查询,没有的使用null填充
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
全连接:union(合并,但是mysql不支持,使用left join union right join)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

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

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

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

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

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

猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)

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

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

比如用户的地址字段:

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

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

第二范式:

  1. 必须先满足第一范式

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

一张表中只能存在一种数据,而不能讲多种数据保存在一张表中
猪猪的IT之路---Java成长之路(MySQL数据库操作——联表查询+范式)