普通join

在两个动态表的join中,任何一侧表的插入(INSERT)或更改(UPDATE)操作都会让 联结的结果表发生改变。例如,如果左侧有新数据到来,那么它会与右侧表中所有之前的数据进行联结合并 。反之右侧数据有更新 亦和左表所有数据join

  1. SELECT
  2. *
  3. FROM Order
  4. INNER JOIN Product
  5. ON Order.product_id = Product.id

window join

目前sql还不支持

interval Join

以left表为基础,在右表的【指定时间范围内】做join

  • ltime = rtime
  • ltime >= rtime AND ltime < rtime + INTERVAL ‘10’ MINUTE
  • ltime BETWEEN rtime - INTERVAL ‘10’ SECOND AND rtime + INTERVAL ‘5’ SECOND
    SELECT *
    FROM Order o, Shipment s
    WHERE o.id = s.order_id
    AND o.order_time BETWEEN s.ship_time - INTERVAL '4' HOUR AND s.ship_time