zoukankan      html  css  js  c++  java
  • MySQL的多表查询(笛卡尔积原理)

    1. 先确定数据要用到哪些表。
    2. 将多个表先通过笛卡尔积变成一个表。
    3. 然后去除不符合逻辑的数据(根据两个表的关系去掉)。
    4. 最后当做是一个虚拟表一样来加上条件即可。

    注意:列名最好使用表别名来区别。

    笛卡尔积

     

    Demo:

    左,右连接,内,外连接

    l             内连接:

    要点:返回的是所有匹配的记录。

    1. 2.         select * from a,b where a.x = b.x                                                 ////内连接

    l             外连接有左连接和右连接两种。

    要点:返回的是所有匹配的记录 外加 每行主表外键值为null的一条记录。辅表所有列为null值。

    1. select * from a left join b on a.x=b.x order by a.x  //左外连接或称左连接
    2. select * from a right join b on a.x=b.x order by a.x  //右外连接或称右连接

    select子句顺序

    子句

    说明

    是否必须使用

    select

    要返回的列或表示式

    form

    从中检索数据的表

    仅在从表选择数据时使用

    where

    行级过滤

    group by

    分组说明

    仅在按组计算聚集时使用

    having

    组级过滤

    order by

    输出排序顺序

    limit

    要检索的行数

  • 相关阅读:
    shell---telnet shell实现
    设计模式-建造者模式
    关于Http2
    转载Resharper使用
    设计模式-原型模式
    设计模式-代理模式
    设计模式-装饰器模式
    设计模式-简单工厂和策略模式
    C#直接发送打印机命令到打印机及ZPL常用打印命令
    C#打印机操作类
  • 原文地址:https://www.cnblogs.com/Toolo/p/3634563.html
Copyright © 2011-2022 走看看