判断一个where条件的对错php,sql – IN子查询的WHERE条件影响主查询 – 这是一个功能还是一个错误?...
假设有两个表:
Table A: A1,A2,A_Other
Table B: B1,B2,B_Other
在以下示例中,是针对固定值检查的条件,例如,=’ABC’或< 45. 我写了一个如下(1)的查询:
Select * from A
Where A1 IN (
Select Distinct B1 from B
Where B2 is something
And A2 is something
);
我真正打算写的是(2):
Select * from A
Where A1 IN (
Select Distinct B1 from B
Where B2 is something
)
And A2 is something;
奇怪的是,两个查询都返回了相同的结果.在查看查询1的解释计划时,看起来就像执行子查询时一样,因为条件A2不适用于子查询,它被推迟用作主查询结果的过滤器.
我通常希望查询1失败,因为子查询本身会失败:
Select Distinct B1 from B
Where B2 is something
And A2 is something; --- ERROR: column "A2" does not exist
但我发现情况并非如此,Postgres将不适用的子查询条件推迟到主查询.
这是标准行为还是Postgres异常?这记录在哪里,这个功能叫做什么?
此外,我发现如果我在表B中添加列A2,则只有查询2按预期工作.在这种情况下,查询2中的引用A2仍将引用A.A2,但查询1中的引用将引用新列B.A2,因为它现在可直接应用于子查询.
判断一个where条件的对错php,sql – IN子查询的WHERE条件影响主查询 – 这是一个功能还是一个错误?...相关推荐
- mysql日期条件筛选_【SQL】对于日期DATETIME的条件筛选
sql查询时间大于某天的数据 如查询时间大于2020/05/14这一天的数据,首先可能想到这样写 select * from STUDENT where TIME>'2020/05/14' 但这 ...
- 性能为王:SQL标量子查询的优化案例分析
本篇整理内容是黄廷忠在"云和恩墨大讲堂"微信分享中的讲解案例,SQL优化及SQL审核,是从源头解决性能问题的根本手段,无论是开发人员还是DBA,都应当持续深入的学习SQL开发技能, ...
- 4、判断一个年份是否为闰年。(闰年即满足以下两条件的年份:其一:能被4整除但不能被100整除;其二:能被400带除)
4.判断一个年份是否为闰年.(闰年即满足以下两条件的年份:其一:能被4整除但不能被100整除:其二:能被400带除) public class Jiejue4 { public static void ...
- 编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
表1为Penson,表2为Address,如下图所示 要求:编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息: FirstName ...
- 写一个“特殊”的查询构造器 - (四、条件查询:复杂条件)
复杂的条件 在 SQL 的条件查询中,不只有 where.or where 这些基本的子句,还有 where in.where exists.where between 等复杂一些的子句.而且即使是 ...
- MyBatis——占位符,转义字符,多元素查询(模糊查询),动态sql(多条件中多查询,多条件中单查询)
占位符:${},#{} ${}:充当占位符时,无法防止sql注入,纯纯的外面给啥,他就往上放啥 #{}:充当-,可以防止sql注入 实体类: package com.itjh.pojo;public ...
- java多条件sql查询_SQL 多条件查询
网上有不少人提出过类似的问题:"看到有人写了WHERE 1=1这样的SQL,到底是什么意思?".其实使用这种用法的开发人员一般都是在使用动态组装的SQL.让我们想像如下的场景:用户 ...
- sql判断整除_关系代数中除法的SQL实现
关系代数中除法的SQL实现 文章目录 引言 关系代数中的运算主要有选择.投影.连接(或者说乘法,即笛卡尔积).除法,以及集合运算.其中,选择.投影.连接能直接用SQL表达,但除法和大部分集合运算不能. ...
- oracle执行计划走索引类型,SQL执行计划问题:where条件是主键(NUMBER类型字段)LIKE :VAR,为什么执行计划不走索引?...
SQL执行计划问题:where条件是主键(NUMBER类型字段)LIKE :VAR,为什么执行计划不走索引? 中文社区 (MOSC) 数据库 (MOSC) 6 Replies Last update ...
最新文章
- PyTorch 神经网络
- android显示服务器端文件夹,Android上传文件到服务端并显示进度条
- 前端学习(2875):原生js模块化+入口模块和子类的编写
- P5725 【深基4.习8】求三角形(python3实现)
- xpath的基本使用
- 《DSP using MATLAB》Problem 6.6
- 省市区经纬度地图json获取方法
- 好物分享 Kvaser支持CANFD功能的CAN卡都有哪些?
- 服务式GIS实践与发展——REST 服务
- vue json对象转数组
- 修改树莓派默认密码及切换root账号
- MP3固件升级(转)
- eth入门之web2 与 web3 的对比
- burpsuite实现抓Windows for Android(WSA)包
- iphone11屏比例_苹果11的屏幕分辨率是多少
- pycharm 自动补全代码提示前符号f,m , p,c,v是什么意思?
- 华为IT总监离职时给大家写了一封告别信
- 卖掉房子去做理财可取吗?
- 【python】 给目录内文件批量改名
- 从K歌使用的鼓起 看数字音乐平台趋向