TSL语言基础 > SQL基础到TS-SQL > TS-SQL语法 > SELECT查询语句 > From子句 > JOIN语法

WITH ON条件    

  •   Join,Left Join,Right Join,Full Join允许添加With On的条件,用法范例:
      Select * from a join b WITH([1].["ID"],[1].["Type"] ON [2].["ID"],[2].["Type"]) end;
      WITH ON是TSL语言类SQL的自有的扩展特性,With On是为了解决Join的效率问题,ON的两旁是两组表达式,每组表达式的表达式个数应该完全相同,with on会利用两组表达式进行预运算,并建立快速索引,解决效率问题,一般来说With On的计算复杂度和N+M是一个量级,而ON条件的计算复杂度和N*M是一个量级(假定左右输入的数据集合的记录数分别为N和M),在N和M比较大的时候,性能的差异可以体现得非常明显,达到几个数量级的差异。
      但是,由于WITH ON有预运算和索引,目前还不支持超大数据结果集之间的运算,在那种情况下,仍然只能使用ON条件。