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

如何在我的SQL语句中组合AND和OR

颛孙品
2023-03-14
问题内容

我有以下SQL语句:

SELECT * FROM `table` WHERE type = 3 OR type = 5 OR type = 4 and table.deleted = 1;

我读过我可以使用括号来完成此操作,但我想知道这是否有效:

SELECT * FROM `table` WHERE (type = 3 OR type = 5 OR type = 4) and table.deleted = 1;

或者

SELECT * FROM `table` WHERE (type = 3 OR type = 5) OR type = 4 and table.deleted = 1;

问题答案:

这两个都是有效的,但是由于AND优先级高于OR,因此它们的含义有所不同:

  • 您的第一个带括号的查询将选择类型为3、4、5的已删除行
  • 第二个带括号的查询将选择类型为3、5的所有行,以及类型为4的已删除行。这与不带括号的原始查询的含义相同。

您可以使用operator完全避免混淆IN,如下所示:

SELECT * FROM `table` WHERE type IN (3, 4, 5) AND table.deleted = 1;

或者如果您想要第二个意思

SELECT * FROM `table` WHERE type IN (3, 5) OR (type = 4 AND table.deleted = 1)


 类似资料:
  • 问题内容: 我有以下代码: 在哪里。 如果第一个陈述为真会怎样? Java还会检查第二条语句吗?因为为了使第一条语句为真,所以HashMap不应包含给定的键,因此如果选中了第二条语句,则将获得。 简单来说,如果我们有以下代码 Java将在第一种情况下检查b是否a为false,a在第二种情况下是否为true? 问题答案: 不会被评估。这非常有用。例如,如果你需要测试String是否为null或为空,

  • 有没有办法在2个Select语句之间应用? 我对的其他解决方案持开放态度。 示例 或 条件1/查询1 或 条件2/查询2-显示数据 注意-在子句中,两个Select具有不同的条件

  • 我刚开始在大学课程中学习Java。如果/然后声明还没有涵盖,但我想我可以自己试试。我最终发现了一些语法错误,我认为我已经修复了这些错误,但现在当我尝试用整数添加字符串时,似乎会出现操作数错误。 但是,我在最后3个print语句中出现了一个错误,我认为这是因为我试图组合字符串和整数。我怎么解决这个?

  • 我想将SQL语句记录到一个文件中。 我有以下属性在<代码>应用 当我运行我的应用程序时, 我可以在控制台中看到SQL语句,但它们不会出现在app.log中。该文件只包含Spring的基本日志。 如何查看日志文件中的 SQL 语句?

  • 本文向大家介绍asp的SQL语句中and和or同时使用的注意事项,包括了asp的SQL语句中and和or同时使用的注意事项的使用技巧和注意事项,需要的朋友参考一下 今天在调试程序的时候,需要用到and or,如果不掌握技巧输出的结构与我们想象的差距有点大,这里分享一下,希望大家以后多多支持呐喊教程 asp的SQL语句中and 和or是不是不可以同时使用呢? 答案是肯定的,下面来看下方法: 1、非常

  • 数据库:Sybase Advantage 11 在我对数据进行规范化的过程中,我试图删除从以下语句中得到的结果: