DML语法 本文主要介绍了DRDS组件的DML语法规则。 DELETE 常用语法 DELETE FROM tblname [WHERE wherecondition] 语法限制 原则上wherecondition部分只能允许出现简单的条件,不支持计算表达式以及子查询。 INSERT 常用语法 INSERT [INTO] tblname (colname[,colname]...) {VALUESVALUE} (valuelist)[,(valuelist)]... [ON DUPLICATE KEY UPDATE assignmentlist] 语法限制 不支持不带分片键的insert语句插入。 不支持insert set使用。 不支持 INSERT DELAYED Syntax。 SELECT 暂不支持 SELECT INTO OUTFILE/INTO DUMPFILE/INTO varname。 SELECT JOIN 语法 DRDS 的 JOIN 查询可下推的 JOIN 主要分为以下几类: 单表(即非分片表)之间的 JOIN。 参与 JOIN 的表在过滤条件中均带有分片键作为条件,并且分片算法相同(即通过分片算法计算的数据分布在相同分片上)。 参与 JOIN 的表均按照分片键作为 JOIN 条件,并且分片算法相同。 全局表与分片表之间的 JOIN。 SELECT UNION 语法 使用union关键字的sql,要求其中涉及的分片表的分片规则及配置参数一致,使用union all关键字的sql则无此要求。 分片表不支持union/union all与聚合函数、limit、groupby、having、orderby等关键字联用。 不支持分片表和全局表union。 SELECT Subquery 语法 Comparisons Using Subqueries Subqueries with ANY, IN, NOT IN, SOME,ALL,Exists,NOT Exists