关于 or and or 加括号的触发问题

Derekwong 2019-05-10 10:51:59
where (a=1 or a=2) and (c=1 or c=2 or c=3)

--请问是不是以下条件都触发

a=1 and c=1
a=1 and c=2
a=1 and c=3

a=2 and c=1
a=2 and c=2
a=2 and c=3
...全文
56 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2019-05-12
简单的问题, 验证一下其实更快
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
GO
CREATE TABLE t(
	a INT,
	c INT
)
GO
SET NOCOUNT ON
INSERT INTO t VALUES (1,1)
INSERT INTO t VALUES (1,2)
INSERT INTO t VALUES (1,3)
INSERT INTO t VALUES (2,1)
INSERT INTO t VALUES (2,2)
INSERT INTO t VALUES (2,3)
INSERT INTO t VALUES (3,1)
INSERT INTO t VALUES (3,2)
INSERT INTO t VALUES (3,3)
INSERT INTO t VALUES (4,1)
INSERT INTO t VALUES (4,2)
INSERT INTO t VALUES (4,3)

SELECT * FROM t WHERE (a=1 or a=2) and (c=1 or c=2 or c=3)
/*
a           c
----------- -----------
1           1
1           2
1           3
2           1
2           2
2           3
*/
回复
卖水果的net 2019-05-10
是的,这 6 组,都满足条件。
回复
发动态
发帖子
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
社区公告
暂无公告