(三)MySQL常见的查询
#使用between and 查询员工编号在100-120之间的员工信息
select * from employees where employee_id BETWEEN 100 and 120;
#查询没有奖金的员工
select * from employees where commission_pct is null;
#安全等于
#查询没有奖金的员工 和上面的效果是相同的
select * from employees where commission_pct <=> null;
#查询工资是12000的员工信息
select * from employees where salary <=>12000;
#接下来做一个简单的对比
is null:只能判断是否是null值,可读性较高。推荐使用
<=>:既能判断null值,又能判断普通的数值,可读性较低,不推荐使用
#查询员工表中job_id不为IT,或者工资为12000的员工的信息
#注意:不能使用is not,只能使用<>
select * from employees where job_id <>'IT' or salary ='12000';
#经典面试题
select * from employees;
和
select * from employees where comission_pct like '%%' and last_name like '%%';--能询出来commission_pct部位null,并且last_name也不为null的数据查
试问,这聊条sql语句执行出来的结果是否一样?
答案:分情况讨,如果表中where条件后面的字段在数据库表中没有null值的话,则两条sql语句执行出来的结果是一样的,如果有null值的情况,则执行出来的结果是不一样的。
老师补充:
对第二条sql进行如下改造
select * from employees where comission_pct like '%%' or last_name like '%%' or salary like '%%' ....把数据表中所有的字段都加上;
现在这两条sql执行的结果应该就是一样的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY