sql 中( in , or ,and)

其实在大部分情况下 in 和 or 是没有什么区别的

and 表示并列关系 即满足 a 同样满足 b条件

select

  *

from

left join  xxx on 

where 

 a And b

如果在以下这种情况下使用 or 关键字时 应该加上() 在与and 共用

where  (a or b) 

and c 

使用 in关键字就需要 直接 字段名 in ('','') 在加 and

SELECT
			oo.id id,
			oo.org_name,
			oo.org_id,
			oo.det_end_date,
			oo.ord_code,
			oei.id oeiID,
			os.at_qualified,
			os.sam_name AS samName,
			os.sam_code AS samCode,
			os.id samId,
			odr.id AS odRid
		FROM
			xxxxx oo
		LEFT JOIN xxxx oei ON oei.id = oo.enp_id
		LEFT JOIN xxxx os ON oo.id = os.ord_id
		LEFT JOIN xxxx odr ON odr.ord_sam_id = os.id
		WHERE
			(oo.ord_status = '6'
		OR oo.ord_status = '5')
		AND oo.enp_id = 7300785981126488
		ORDER BY
			oo.create_date DESC

  

提供简单参考sql, 

转载于:https://www.cnblogs.com/wshuo/p/5917339.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: 一个 IN 只能对一个字段进行范围比对,如果要指定更多字段,可以使用 AND 或 OR 逻辑运算符: SELECT * FROM user WHERE uid IN(1,2) OR username IN('admin','5idev') 使用 AND 或 OR 逻辑运算符后,IN 还可以和其他如 LIKE、>=、= 等运算符一起使用。\[1\] 引用\[2\]: 通常在写SQL语句我们时不时就会用到between或者in,或者两者组合在一起,between的运算符用于 WHERE 表达式,选取介于两个值之间的数据范围。BETWEEN 同AND 一起搭配使用;in的运算符用于WHERE表达式,以列表项的形式支持多个选择。\[2\] 引用\[3\]: 同事写了一条SQL语句,我一看,哦买糕的,居然用了4层嵌套的in。 SELECT * FROM "publicDB"."system_action" WHERE ACTION_ID IN( SELECT ACTION_ID FROM "publicDB"."system_action_role" WHERE ROLE_ID IN ( SELECT ROLE_ID FROM "publicDB".base_role_user WHERE USER_ID IN(SELECT USER_ID FROM "publicDB"."base_user" WHERE USER_NAME='huxin'))) 。\[3\] 问题: sql语句in 或者or 运算符的用法和区别是什么? 回答: 在SQL语句,IN和OR运算符都用于WHERE表达式,用于选择满足特定条件的数据。不同之处在于它们的使用方式和逻辑。IN运算符用于以列表项的形式支持多个选择,可以对一个字段进行范围比对,也可以与其他运算符如LIKE、>=、=等一起使用。例如,可以使用IN运算符选择uid为1或2的用户,或者选择username为'admin'或'5idev'的用户。而OR运算符用于逻辑运算,可以将多个条件组合在一起,满足其任意一个条件即可。例如,可以使用OR运算符选择uid为1或2的用户,或者选择username为'admin'或'5idev'的用户。\[1\] \[2\] #### 引用[.reference_title] - *1* *2* [Sql语句between与in的用法详解](https://blog.csdn.net/m0_70059366/article/details/127890123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [为什么说SQL语句使用IN性能不高?](https://blog.csdn.net/leftfist/article/details/121081056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值