用Mimer Validator检查SQL查询
问:假如我的一个表里含有(a,b,c,d)和(a,b)形成组合键。我能在列值中写这个查询吗?例如:
代码如下:
select a,c,d from mytable
where (a,b) in ((1,2),(1,4),(1,5))
答:可以。
如果你怀疑有些SQL架构是否有效,就通过Mimer Validator运行一下。在这种情况中,你的查询(你登录校验器中的查询)将得到如下结果:
* 在SQL-92中, 无效
* 在SQL-99和SQL_2003中, 有效,并带有如下注释:
F641, "Row and table constructors"
T051, "Row types"
F561, "Full value expressions"
这时将会用到Core SQL-99以外的如下特征或Core SQL-200x (draft):
F641, "Row and table constructors"
T051, "Row types"
F561, "Full value expressions"
也就是说如果你特殊的数据库系统不支持那些选择特征,你仍然会收到错误信息。
也许你想尝试以下查询:
SELECT a,c,d
FROM mytable
WHERE a = 1 AND b = 2
OR a = 1 AND b = 4
OR a = 1 AND b = 5
这个查询运行十分顺利,因为(a,b)就是一个键,所以用索引查询会比较有效。
相关推荐
-
用Mimer Validator检查SQL查询
问:假如我的一个表里含有(a,b,c,d)和(a,b)形成组合键.我能在列值中写这个查询吗?例如: 复制代码 代码如下: select a,c,d from mytable where (a,b) in ((1,2),(1,4),(1,5)) 答:可以. 如果你怀疑有些SQL架构是否有效,就通过Mimer Validator运行一下.在这种情况中,你的查询(你登录校验器中的查询)将得到如下结果: * 在SQL-92中, 无效 * 在SQL-99和SQL_2003中, 有效,并带有如下注释: F6
-
分析mysql中一条SQL查询语句是如何执行的
目录 一.MySQL 逻辑架构概览 二.连接器(Connector) 三.查询缓存(Query Cache) 四.解析器(Parser) 五.优化器(Optimizer) 六.执行器 七.小结 一.MySQL 逻辑架构概览 MySQL 最重要.最与众不同的特性就是它的可插拔存储引擎架构(pluggable storage engine architecture),这种架构的设计将查询处理及其他系统任务和数据的存储/提取分离开来.来看官网的解释: The MySQL pluggable stora
-
MySQL中一条SQL查询语句是如何执行的
目录 前言 1. 处理连接 1.1 客户端和服务端的通信方式 1.1.1 TCP/IP协议 1.1.2 UNIX域套接字 1.1.3 命名管道和共享内存 1.2 权限验证 1.3 查看MySQL连接 2. 解析与优化 2.1 查询缓存 2.2 解析器 & 预处理器(Parser & Preprocessor) 2.2.1 词法解析 2.2.2 语法分析 2.2.3 预处理器 2.3 查询优化器(Optimizer)与查询执行计划 2.3.1 什么是查询优化器? 2.3.2 优化器究竟做了什
-
SQL查询语句执行的过程
目录 MySQL基本架构 Server 层 1.连接器 2.查询缓存 3.分析器 4.优化器 5.执行器 SQL语句举例: SELECT * FROM `test` WHERE `id`=1; 当我们输入一条SQL语句,返回一个结果时,那这条语句在 MySQL 内部的执行过程是怎么的呢? MySQL基本架构 下面给出的是 MySQL 的基本架构示意图(图片来自网络),从下图中我们可以比较清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程. 从上图直观的来看,MySQL 可分为 S
-
讲解Oracle数据库中的数据字典及相关SQL查询用法
Oracle数据字典概述 数据库是数据的集合,数据库维护和管理这用户的数据,那么这些用户数据表都存在哪里,用户的信息是怎样的,存储这些用户的数据的路径在哪里,这些信息不属于用户的信息,却是数据库维护和管理用户数据的核心,这些信息就是数据库的数据字典来维护的,数据库的数据字典就汇集了这些数据库运行所需要的基础信息叻.每个数据库都提供了各自的数据字典的方案,虽然形式不同,但是目的和作用是一样的,比如在mysql里数据字典是在information_schema 里表现的,sqlserver则是
-
SQL查询语句通配符与ACCESS模糊查询like的解决方法
ACCESS的通配符和SQL SERVER的通配符比较===================================================ACCESS库的通配符为:* 与任何个数的字符匹配? 与任何单个字母的字符匹配 SQL Server中的通配符为:% 与任何个数的字符匹配_ 与单个字符匹配正文我今天在写个页面的时候,也很郁闷,表中明明有记录,但在ASP里就是搜索不到,理论的sql语句如下:Select * FROM t_food Where t_food.name
-
使用SQL查询DB2 9中的XML数据
正在看的db2教程是:使用SQL查询DB2 9中的XML数据. 虽然 DB2 的混合体系结构与之前的版本有很大的不同,但是要利用它的新 XML 功能并不难.如果您已经熟悉 SQL,那么很快就可以将这方面的技能转化到对存储在 DB2 中的本地 XML 数据的处理上.通过本文就可以知道如何实现这一点. DB2 Viper(就是DB2 9)中的 XML 特性包括新的存储管理.新的索引技术以及对查询语言的支持.在本文中,学习如何使用 SQL 或带 XML 扩展的 SQL(SQL/XML)查询 DB2 X
-
SQL查询排名函数实例
在实际开发中经常会遇到计算某个字段的排名的情况 如下表:totak_sales 现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序 方法: 复制代码 代码如下: SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank FROM Total_Sales a1, Total_Sales a2 WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name
-
oracle常用sql查询语句部分集合(图文)
Oracle查询语句 select * from scott.emp ; 1.--dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc) a from scott.emp) where a<=3 order by deptno asc,sal desc ; 结果: --rank()分析函数(
-
php mssql扩展SQL查询中文字段名解决方法
一.问题: 数据库是MS SQLServer2000,要把SQLServer2000里的一张表的数据导入MySQL5,其中SQLServer2000表的字段以简体中文命名(强烈建议不要以中文做为字段名).其实操作就是对SQLServer查询记录,插入到MySQL里.选择的脚本语言是PHP,PHP打开MSSQL和MySQL扩展,对这两个数据库操作都是很容易的问题. 问题就出现在SQLServer中表的字段名是中文,写好的查询语句在SQLServe里测试是通过有记录返回,用PHP的MSSQL扩展查询
随机推荐
- Go语言interface详解
- IE Cookie文件格式说明
- Adobe Photoshop CS4 激活序列号注册机及破解补丁分享
- servlet简介_动力节点Java学院整理
- H5移动开发Ajax上传多张Base64格式图片到服务器
- php读取二进制流(C语言结构体struct数据文件)的深入解析
- BootStrap Fileinput的使用教程
- Mybatis 入门示例代码之 Association
- 原生js的数组除重复简单实例
- jQuery实现定位滚动条位置
- jsonp跨域请求详解
- Gzip压缩无效的终极解决方案!
- 完美解决Jpush[获取sdk版本失败!]的问题
- python统计cpu利用率的方法
- C# 设计模式系列教程-桥接模式
- JavaScript中import用法总结
- Java实现简单订餐系统
- laravel实现简单用户权限的示例代码
- django做form表单的数据验证过程详解
- Python3按一定数据位数格式处理bin文件的方法