sql语句(AND、OR、NOT组合条件查询)

        在SQL语句中,ANDORNOT 是用于组合多个条件的逻辑运算符,它们允许你构建复杂的查询条件来精确地筛选数据。以下是一些使用这些逻辑运算符进行组合条件查询的示例。

示例 1: 使用 AND

选取薪资大于50000且部门ID为3的员工信息。

SELECT * FROM Employees WHERE Salary > 50000 AND DepartmentID = 3;

     

这个查询将返回同时满足薪资大于50000和部门ID为3这两个条件的所有员工记录。

示例 2: 使用 OR

选取薪资大于50000或部门ID为3的员工信息。

SELECT * FROM Employees WHERE Salary > 50000 OR DepartmentID = 3;

这个查询将返回薪资大于50000或部门ID为3(或两者都满足)的所有员工记录。

示例 3: AND 和 OR 组合使用(注意括号的使用)

选取薪资大于50000且部门ID为3,或者部门ID为4的员工信息。

SELECT * FROM Employees WHERE (Salary > 50000 AND DepartmentID = 3) OR DepartmentID = 4;

这里使用了括号来明确指定条件的组合方式。首先,它检查薪资是否大于50000且部门ID是否为3,然后检查部门ID是否为4。注意,如果不使用括号,查询的逻辑将不同,因为AND的优先级高于OR

示例 4: 使用 NOT

选取不是部门ID为3的员工信息。

SELECT * FROM Employees WHERE NOT DepartmentID = 3;

这个查询将返回部门ID不是3的所有员工记录。

示例 5: NOT 与其他条件组合

选取薪资不大于50000且不是部门ID为3的员工信息。

SELECT * FROM Employees WHERE Salary <= 50000 AND NOT DepartmentID = 3;

这个查询将返回薪资不大于50000且部门ID不是3的所有员工记录。

示例 6: 复杂组合

选取薪资大于50000且部门ID为3,或者薪资在30000到40000之间但不是部门ID为4的员工信息。

SELECT * FROM Employees WHERE (Salary > 50000 AND DepartmentID = 3) OR (Salary BETWEEN 30000 AND 40000 AND NOT DepartmentID = 4);

这个查询展示了如何结合使用ANDORNOT以及范围查询(BETWEEN)来构建复杂的查询条件。

注意:

  • 在使用多个逻辑运算符时,括号(())对于明确指定条件的组合方式和优先级非常重要。
  • 逻辑运算符的优先级从高到低是:NOTANDOR。但是,为了清晰和避免错误,建议总是使用括号来明确指定条件的组合方式。
  • 在构建复杂的查询时,确保测试查询以验证其是否按预期返回结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值