
# 关联查询
- 【规则】多表关联嵌套深度必须小于8。 关联嵌套过深，容易产生慢SQL，应从业务层考虑优化。
  
- 【规则】表关联查询必须明确指定各表的连接条件（ON），以避免产生笛卡尔积。 例如在B数据库中，JOIN与CROSS JOIN和INNER JOIN等价，但是在SQL标准中，JOIN仅与INNER JOIN等价，必须配合使用ON连接条件。
  
- 【规则】关联时，应该根据SQL标准指明连接方式，避免直接使用JOIN关键词，而是使用CROSS JOIN、INNER JOIN、LEFT JOIN、RIGHT JOIN等。
- 【规则】多表关联查询时, 必须对表添加使用别名，保证语句逻辑清晰，便于维护。
- 【建议】不同字段的比较开销不同，关联字段应尽量使用比较效率高的字段类型。
  - 数值类型的比较效率远高于字符串类型。
  
  - 在数值类型中，整型效率高于NUMERIC和浮点类型。
   
- 【建议】关联字段应为相同数据类型，避免存在隐式类型转换影响执行效率。
- 【建议】少用嵌套子查询，尽量使用表关联，因为子查询会产生临时表，对SQL性能影响较大。
- 【建议】对于关联列上存在大量NULL值的情况，建议在WHERE条件中增加关联列IS NOT NULL的过滤条件，能够提升执行效率。
 
