MySQL 二条件查询

MySQL条件查询

  1. 语法
    select 查询列表
    from 表名
    where 筛选条件
  2. 执行顺序
    (1)from (2)where (3)select
    eg:select last_name from employee where salary>2000;
  3. 特点:
    (1)按关系表达式筛选
    关系运算符:> < <= >= <>(不等于)
    补充:可以用!= 但是不建议
    (2)and or not
    补充:也可以用 && || ! 但是不建议
    (3)模糊查询
    in between and is null

案例分析
一:按条件表达式分析
eg:查询工资小于15000的姓名,工资
select last_name,salary
from employees
where salary <15000;
二:按逻辑表达式分析
案例一:查询部门编号不在50-100之间的员工姓名,部门编号,邮箱。
方法一:select last_name,department_id,email from employees where department_id<50 or department_id>100;
方法二:select last_name,department_id,email from employees where not (department_id>=50 and department_id<=100);

### MySQL 条件查询 OR 语句 使用示例 在 MySQL 中,`OR` 运算符用于组合多个条件,在这些条件下只要有一个条件为真,整个表达式就返回 true。通常情况下,`OR` 可以与其他逻辑运算符(如 `AND`)一起使用,以便更精确地定义查询条件。 #### 单独使用 OR 的示例 以下是一个简单的 SQL 查询,展示了如何单独使用 `OR` 来检索满足任一条件的数据记录: ```sql SELECT * FROM students WHERE gender = 1 OR is_delete = 0; ``` 此查询将返回性别为男 (`gender = 1`) 或者未被标记为已删除 (`is_delete = 0`) 的所有学生信息[^1]。 #### 结合 AND 和 OR 的复杂查询 当需要更加复杂的过滤条件时,可以同时使用 `AND` 和 `OR`。需要注意的是,为了确保逻辑清晰以及结果正确,建议合理运用括号来指定优先级。例如: ```sql SELECT * FROM vvt_spread_doubleegg_exchange_award AS p WHERE (p.act_type = 5 OR p.user_id = $user_id) AND p.status = 'active'; ``` 在此查询中,只有活动类型为 5 或用户 ID 匹配给定值,并且状态为 active 的记录才会被选出[^1]。 #### 处理 NULL 值的情况 有时我们还需要考虑字段可能包含 null 值的情形。在这种场景下可以直接利用 IS NULL 或 IS NOT NULL 关键字配合 OR 实现特定需求。举个例子来说就是找出那些既没有填写邮箱地址又或者手机号码为空白的所有客户资料: ```sql SELECT * FROM customers WHERE email IS NULL OR phone_number = ''; ``` #### 排序与分页支持 除了基本的筛选功能之外,还可以进一步添加排序规则和限制返回的结果数量从而完成完整的数据提取过程。像这样一段代码就可以实现基于两个维度先后顺序排列的同时还加入了分页机制: ```sql SELECT * FROM students WHERE (age >= 20 OR grade_point_average > 3.5) AND graduation_year BETWEEN 2018 AND 2022 ORDER BY age DESC, height DESC LIMIT 10 OFFSET 20; ``` 这里不仅设置了年龄大于等于十岁或者是绩点高于三点五这两个准入门槛之一即可入选的标准外加毕业年份范围限定;而且最后两行则分别规定好先依据年纪再参照身高的递减方式安排次序并且只展现从第十一条开始往后数出来的十个条目出来供查看[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值