zoukankan      html  css  js  c++  java
  • mysql多表联合查询

    转自:http://www.cnblogs.com/Toolo/p/3634563.html

    多表连接,小分三种(笛卡尔积、内连接、外连接),多分五种

    (笛卡尔积、内连接、左连接、右连接、全连接(mysql可能没有))

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

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

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

    笛卡尔积

     

    Demo:

    左,右连接,内,外连接

    l             内连接:

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

    1. select * from a,b where a.x = b.x                                                 ////内连接
    2. select * from a cross join b on a.x=b.x order by a.x  //不同写法的内连接
    3. select * from a inner join b on a.x=b.x order by a.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

    要检索的行数

  • 相关阅读:
    VSCode:无法创建临时目录
    网页很卡的原因
    用css做三角形
    移动端加载页面出现抖动、未加载完成时布局杂乱问题解决
    vue中使用axios进行ajax请求数据(跨域配置)
    fetch和XMLHttpRequest
    1-5-JS基础-数组应用及实例应用
    图片左右切换
    轮播图片切换
    轮播图片切换(函数合并)
  • 原文地址:https://www.cnblogs.com/lvchenfeng/p/5972451.html
Copyright © 2011-2022 走看看