MySQL查询之关系查询

 

连接查询:select table_b.type,table_b.title,table_b.content,table_b.author from table_a left join table_b on table_a.type = table_b.type where table_a.id = 1;

子查询:   select type,title,content,author from table_b WHERE type = (SELECT type from table_a WHERE id = 1);

如果一个id对应多个type,则用 select type,title,content,author from table_b WHERE type in (SELECT type from table_a WHERE id = 1);

结果如下:

采用最普通的查询(不采用关系表或中间表的形式),也可以得到相同的效果,如下:

SELECT * from table_b WHERE type = 'a';

那为什么还要花费如此大的力气去建立一个关系表呢?

这两种方式的不同点在于,第二种直接在详情表中查询所有为a类的记录;而第一种则是通过参数id获取到a类别,再到详情表获取所有a类的记录

我个人认为原因可能有:1、加入关系表或中间表,能让数据间的关系更加明确;2、前端传递过来的是一个id参数,后台只通过此id参数去进行一系列的查询,一定程度上保证了数据的安全性。

 

转载于:https://www.cnblogs.com/chenyongyang/p/7975818.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值