条件查询中的多or和and条件结合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件查询中的多or和and条件结合相关的知识,希望对你有一定的参考价值。
参考技术A 一个需求里面要求一个关键字输入匹配多个字段模糊查询结果,多次验证后最终需要如下操作才能正确返回生成的sql为
SQL AND & OR 运算符
AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
原始的表 (用在例子中的):
LastName | FirstName | Address | City |
---|---|---|---|
Adams | John | Oxford Street | London |
Bush | George | Fifth Avenue | New York |
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
AND 运算符实例
使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:
SELECT * FROM Persons WHERE FirstName=‘Thomas‘ AND
LastName=‘Carter‘
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
OR 运算符实例
使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:
SELECT * FROM Persons WHERE firstname=‘Thomas‘ OR
lastname=‘Carter‘
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
结合 AND 和 OR 运算符
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM Persons WHERE(
FirstName=‘Thomas‘OR
FirstName=‘William‘)
AND
LastName=‘Carter‘
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Carter | Thomas | Changan Street | Beijing |
Carter | William | Xuanwumen 10 | Beijing |
以上是关于条件查询中的多or和and条件结合的主要内容,如果未能解决你的问题,请参考以下文章
SQL -------- WHERE子句与AND,OR和NOT运算符结合使用。
Thinkphp 查询条件 and 和 or同时使用即复合查询