zoukankan      html  css  js  c++  java
  • mysql(一) 关联查询的方式

    mysql做关联查询时,一般使用join....on.....的语法。

    但还有其它两种语法形式,三者的主要区别在于书写形式,其余方面并无太多差异。

    如下三种形式:

    select * from trade join sub_trade on trade.order_id = sub_trade.order_id;
    
    select * from trade join sub_trade using(order_id);
    
    select * from trade, sub_trade where trade.order_id=sub_trade.order_id;

    join....on... 与 join... using()两种形式mysql在执行时都会处理成第三种。

    这两者的区别在于:

    join... on....遇到相同名字的列,检索出来时会要求必须指定来源的表,如下所示:

    select trade.order_id from trade join sub_trade on trade.order_id = sub_trade.order_id;

    join... using()主要用于关联的列名字相同的场景,上述sql可以如下表述:

    select order_id from trade join sub_trade using(order_id);

     其会智能的识别名字相同的列,检索重复的列会只输出一个。

    第三种形式mysql会根据表记录数选择由哪张表作为驱动表,相当于join时,由mysql来自己控制哪张表作为驱动表。

  • 相关阅读:
    itextpdf 和 pdfbox 测试用例
    Java base64 编码、解码
    常用字体
    DIY 单片机 入门
    太难了。
    Java 之 native:JNI 本地方法测试实现
    Java 之 String 引用传递
    Java class 文件 方法的指令含义
    Spring学习文章链接
    数据结构_树_图_总结
  • 原文地址:https://www.cnblogs.com/asfeixue/p/9121303.html
Copyright © 2011-2022 走看看