首页 > 代码库 > SQL里的子查询

SQL里的子查询

子查询必须遵守的规则

  • 子查询必须位于圆括号内。
  • 除非子查询里有多个字段让子查询进行比较,否则子查询的SELECT子句里只能有一个字段。
  • 子查询里不能使用ORDER BY子句。在子查询里,我们可以利用GROUP BY子句实现ORDER BY功能。
  • 返回多条记录的子查询只能与多值操作符(比如IN)配合使用。
  • SELECT列表里不能引用任何BLOB、ARRAY、CLOB或NCLOB类型的值。
  • 子查询不能直接被包围在函数里
  • 操作符BETWEEN不能用于子查询,但子查询内部可以使用它。
    SELECT COLUMN_NAME FROM TABLE_AWHERE COLUMN_NAME  OPERATOR  (SELECT COLUMN_NAME FROM                                         FROM TABLE_B                                        WHERE BETWEEN VALUE AND VALUE)

    下面这样做是不可以的:
    SELECT COLUMN_NAME FROM TABLE_A WHERE COLUMN_NAME  BETWEEN VALUE AND  (SELECT COLUMN_NAME FROM
                                            FROM TABLE_B WHERE CONDITION)

     

SQL里的子查询