软件测试基础学习-Mysql多表查询

一、表的关系(根据外键的数量)

1、一对一

2、一对多

3、多对多

二、多表查询(将多张表通过UNION合并->进行单表查询)

1、内连接

1.1 定义

要求两个表之间必须存在外键相等

1.2 语法

 select 列 from 表1 as 别名 [inner] join 表2 别名 on 表1别名.主键 = 表2别名.外键;(标准)

 select 列 from 表1 as 别名, 表2 别名 where 表1别名.主键 = 表2别名.外键;(非标准)

  1.3注意:

  • 以上两种语法效果相同,但是推荐 inner join系列 [标准]
  • 为了避免错误数据行连接(笛卡尔积,连接查询,就是将多有行都水平拼接一遍),我们需要添加主外键相等
  • 多表中可能存在相同的列名,建议对列操作的时候使用: 表名.列名 | 表的别名.列名
  • 表可以在from后面起别名 表 as 别名 表 别名

2、外连接

1.1 定义

可通过左和右指定一个逻辑主表,逻辑主表的数据一定会查询到

1.2 语法

表1 别名 left | right [outer] join 表2 别名 on 主 = 外键

1.3 注意

  •        内连接-> 必须存在主外键 主外键相等
  •        外连接-> 指定一个逻辑主表,一定会显示全
  •        外连接的outer可以省略  left join = left outer join
  •        经验: 如果有逻辑主表,就将逻辑主表放在第一位, 后面全部是左外连接
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值