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

    感谢大佬:https://blog.csdn.net/yang5726685/article/details/53538438

    MySQL的多表查询(笛卡尔积原理)

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

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

    笛卡尔积

    在这里插入图片描述
    Demo:
    在这里插入图片描述
    左,右连接,内,外连接
    l 内连接:

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

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

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

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

    select * from a left join b on a.x=b.x order by a.x  //左外连接或称左连接
    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脚本实现免密认证
    利用shell脚本实现https证书认证
    高级sed命令
    Zabbix自定义监控
    Zabbix三种邮箱告警配置
    Zabbix配置
    监控服务Zabbix部署
    Ftp
    Samba
    NFS
  • 原文地址:https://www.cnblogs.com/tfxz/p/12621586.html
Copyright © 2011-2022 走看看