zoukankan      html  css  js  c++  java
  • 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参数去进行一系列的查询,一定程度上保证了数据的安全性。

  • 相关阅读:
    Java学习的第二十八天
    Java学习的第二十七天
    第五章 作用域闭包
    第4章提升
    第3章函数作用域和块级作用域
    Vant中List列表下拉加载更多
    获取当前时间
    js比较两个时间的大小
    边框引起页面抖动
    计算两个数的百分比,保留两位小数
  • 原文地址:https://www.cnblogs.com/chenyongyang/p/7975818.html
Copyright © 2011-2022 走看看