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

  • 相关阅读:
    bootstrap学习笔记
    java-多态
    java-重写
    java-继承
    java-包
    java-封装
    java-可变参数
    java-标准输入
    java-构造方法
    private、public、this关键字
  • 原文地址:https://www.cnblogs.com/chenyongyang/p/7975818.html
Copyright © 2020-2023  润新知