zdaas 对mysql 类型的 sql 有这样的限制

2.1. 暂不支持的SQL语句
1、不支持select *,如select *from a,b
2、不支持不带表别名的字段,所有表和字段必须有别名。
正确写法:select  t.id,o.id from customer t ,order o where t.customer_id=o.customer_id;
错误写法:select  id,o.id from customer t ,order o where t.customer_id=o.customer_id;
3、不支持case  when语句
4、不支持条件两边都是常量,如 where 1=1
5、不支持having中条件中带in,!=,如 having t.customer_id IN(1,2,3)
6、不支持越层的嵌套子查询,如下面的语句select c.id from customer c where exists
   (select 1 from order o  where o.order_id in(select  oo.order_id from order oo where oo.customer_id = c.customer_id)),条件oo.customer_id = c.customer_id属于越层关联
7、不支持带or、括号的语句
8、不支持函数内部的字段跨库,如
select t.customer_id,CONCAT(s.customer_id,t.customer_id)  from customer t ,customer_order s

时间: 2024-11-08 00:03:30

zdaas 对mysql 类型的 sql 有这样的限制的相关文章

MySQL服务 - MySQL列类型、SQL模式、数据字典

一.MySQL列类型的作用: 列类型可以简单理解为用来对用户往列种存储数据时做某种范围"限定",它可以定义数据的有效值(字符.数字等).所能占据的最大存储空间.字符长度(定长或变长).是否能够被索引.如何被索引及如何排序等.在关系型数据库系统中,为了实现数据的易于管理,必须为表字段(列)指定对应的列类型.MySQL的列类型可以分为4类:字符型.数值型.日期及时间型.自有类型. 1.字符型: 字符型限定值只能为字符,MySQL的字符类型如下: 类型 最大字符长度 名称及特性 char 2

【MySQL笔记】SQL优化利器 - explain命令的输出格式详解

有MySQL使用经验的同学在实际项目中可能会遇到SQL慢查询的场景,有些场景很容易定位问题所在(如单表操作有慢查询SQL时,仔细check SQL语句通常很容易定位索引问题),而有些复杂业务场景下(如多表联合查询几十个字段并做group或sort等操作),人工check SQL语句通常很难发现SQL瓶颈根源.这个时候,MySQL提供的explain命令就派上用场了. 本笔记主要对explain的输出结果做说明,并给出根据explain输出对SQL做优化的思路. 1. EXPLAIN语法及用途 e

MySQL管理之SQL语句实例

MySQL管理之SQL语句实例 首先,我们来导入world库,这个world库中的表是mysql ocp考试专用表,在网上有下 mysql> source/root/world_innodb.sql 表结构如下: 本文来自http://yijiu.blog.51cto.com 转载请经博主允许 ,盗帖可耻! CREATE TABLE `Country` (  `Code` char(3) NOT NULL DEFAULT '',  `Name` char(52) NOT NULL DEFAULT

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

Mysql体系结构及sql执行过程总结

Mysql体系结构及sql执行过程总结 一.体系结构图 各模块说明: 1.Connectors:各应用程序与SQL的交互 2. Management Serveices & Utilities:系统管理和控制工具 3.Connection Pool:连接池 管理缓冲用户连接,线程处理等需要缓存的需求 4.SQL Interfaces:SQL接口 接受用户的SQL命令,并且返回用户需要查询的结果.例如select from就是调用SQL Interface 5.Parser:解析器 (1)将SQL

mysql语句与sql语句的基本区别

1. MySQL支持enum和set类型,SQL Server不支持: 2. MySQL不支持nchar.nvarchar.ntext类型: 3. MySQL数据库的递增语句是AUTO_INCREMENT,而MS SQL是identity(1,1): 4. MS SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的: 5. MySQL需要为表指定存储类型: 6. MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是 `,也就是按键1左边的

MySQL数据类型及sql模型

MySQL数据类型及sql模型 存储引擎,也被称为表类型: MyISAM表: 无事务,表锁     .frm: 表结构定义文件     .MYD: 表数据     .MYI: 索引 InnoDB表:事务,行锁     .frm: 表结构     .ibd: 表空间(数据和索引)     所有表共享一个表空间文件:     建议:每表一个独立的表空间文件:(修改配置文件在[mysqld]项下加入innodb_file_per_table = 1) MySQL:      在默认的mysql数据库中

MySQL基本的Sql语句

一 . 常用mysql命令行命令 1 .启动MYSQL服务  net start mysql 停止MYSQL服务  net stop mysql 2 . netstat –na | findstr 3306 查看被监听的端口 , findstr用于查找后面的在端口是否存在 3 . 在命令行中登陆MYSQL控制台 , 即使用 MYSQL COMMEND LINE TOOL 语法格式 mysql –user=root –password=123456 db_name 或 mysql –uroot –

Mysql explain分析SQL语句之字段属性说明

在 explain的帮助下,您就知道什么时候该给表添加索引,以使用索引来查找记录从而让select 运行更快.如果由于不恰当使用索引而引起一些问题的话,可以运行 analyze table来更新该表的统计信息,例如键的基数,它能帮您在优化方面做出更好的选择. explain 返回了一行记录,它包括了 select语句中用到的各个表的信息.这些表在结果中按照mysql即将执行的查询中读取的顺序列出来.mysql用一次扫描多次连接(single- sweep,multi-join)的方法来解决连接.