Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Where子句语法正确,但不提供任何内容_Sql_Oracle - Fatal编程技术网

Sql Where子句语法正确,但不提供任何内容

Sql Where子句语法正确,但不提供任何内容,sql,oracle,Sql,Oracle,我正在使用这个名为practice的教程表,分别有DEPTNO DNAME LOC列 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 鉴于这个疑问 select * from practice where loc = 'DALLAS' 我得到了一个我期待的争吵,但我也做了这个询问 select * from practice where('LOC')

我正在使用这个名为practice的教程表,分别有
DEPTNO DNAME LOC

10  ACCOUNTING  NEW YORK
20  RESEARCH    DALLAS
30  SALES       CHICAGO
40  OPERATIONS  BOSTON
鉴于这个疑问

select * from practice where loc = 'DALLAS'
我得到了一个我期待的争吵,但我也做了这个询问

select * from practice where('LOC') = 'DALLAS'
我什么也得不到。我不明白,后一个查询在语法上是有效的,我没有异常,但仍然得到一个空的结果集。使用
()
在何处
有什么特殊功能吗

表达式:

where('LOC') = 'DALLAS' 
where loc = 'DALLAS'
正在将字符串
'LOC'
与字符串
'DALLAS'
进行比较。这些不匹配

表达方式:

where('LOC') = 'DALLAS' 
where loc = 'DALLAS'
正在将列
loc
与字符串
'DALLAS'
进行比较。显然,这些有时确实匹配


单引号与问题相关。括号与此无关。(他们做了一些与您的问题无关的“特殊”的事情。他们将表达式分组以进行评估。)

谢谢!因此为了澄清,我认为
where
子句的目的是检查列值。为什么要使用
where
子句检查单个字符串?@edgararroutiounian。
where
子句检查您在其中输入的条件。事实上,比较列
city
和变量
v\u city
时,通常会执行类似
的操作,其中v\u city为null或city=v\u city
。第一部分是比较两个“常量”值。
WHERE
子句只检查布尔表达式,它们可以是列上的条件,也可以是更复杂的条件,或者更简单的条件,比如比较字符串。