当前位置: 首页 > 面试题库 >

是WHERE子句中标准SQL的方括号

董良策
2023-03-14
问题内容

我目前正在做的课程在其WHERE子句中使用方括号,如下所示:

SELECT bar
FROM   Foo
WHERE (CurrentState = 'happy');

这是标准的sql吗? 如果不是,那为什么要使用它们呢?

我所用的Date&Darwen书中似乎没有使用过。

编辑

只是为了澄清-我指的是1992 SQL标准


问题答案:

是的。您可以使用括号来绑定where子句的组件。这是不是在你的榜样必要的,但如果你有多个andor组件,您可能需要括号要么确保作业或仅仅是为了自我文档查询正确的顺序。

范例1:

select *
from foo
where 
   (class='A' and subclass='B')
   or (class='C' and subclass='D')

在示例1中,并非严格要求使用parens,因为and绑定比绑定更紧密or,但是如果您有多个or条件受约束,则and需要它以获得正确的结果,如下面的示例2所示。

范例2:

select *
from foo
where 
   (class='A' or class='B')
   and (subclass='C' or subclass='D')

无论哪种情况,我都使用它们,因为我不希望像查询优化器那样用脑子里解析sql-我宁愿明确它,也可以更快地了解其意图。



 类似资料:
  • 主要内容:标准WHERE示例WHERE子句用于对数据库应用条件并基于该条件获取数据。 在Criteria API中,AbstractQuery接口的)方法用于设置查询条件。 标准WHERE示例 在这里,我们将在表上执行多个操作。假设该表包含以下记录 - 现在,请按照以下步骤执行操作: - 第1步: 创建一个实体类。在包下创建了类文件。 该类包含三个属性:,,以及所有必需的注解。 文件:StudentEntity.java -

  • WHERE 子句用于过滤记录。 SQL WHERE 子句 WHERE 子句用于提取那些满足指定标准的记录。 SQL WHERE 语法SELECT column_name,column_name FROM table_name WHERE column_name operator value; 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 "Websites" 表的数据

  • 问题内容: 我在某处看到此查询- 什么是 “N” 是什么意思?我不确定这是否仅对SQL Server有效。 问题答案: N代表“国家字符”,它表示字符串的内容为Unicode。 只要碰到专有名称或其他可能包含默认ASCII字符集以外的字符的实体,就应该使用Unicode(/ )。如果不使用前缀将此类字符串括起来,则会丢失数据。例如: 结果: 您还应确保在您或其他子句中对列使用前缀。不使用前缀时,由

  • Where 子句用于在从表中获取数据或将其包含在其他表中时生成条件。如果满足条件,则它从表中返回一个特定值。我们使用 WHERE 子句来过滤数据库中的记录并获取主要记录。 在 SELECT 语句中使用了 WHERE 子句,但它也用于 UPDATE、DELETE 帐户等。 语法: 我们使用逻辑运算符生成条件,它们是:、、、、 等。 下面来看一个例子,已更换的理解: 示例 请参阅具有以下记录的 EMP

  • 我可以通过两种方式来实现这一点,使用where子句或join查询,在spark SQL中哪个更快?为什么?Where子句比较列添加、选择那些记录还是在列本身上联接,哪个更好?

  • 问题内容: 我有以下带有四个参数的存储过程。 存储过程: 好吧,我正在这样准备: 这是一个正确的方式 或 有没有更好的方式来准备动态条款? 问题答案: 这就是所谓的全部查询,它基本上是这样的: