MySQL数据库(五)MySQL条件查询和排序查询

一、基础查询 https://blog.csdn.net/xy_learning/article/details/103768278

二、条件查询

语法:select 查询列表 from 表名 where 筛选条件

执行顺序:表名,筛选条件,查询列表

分类:1.条件表达式 >  <  =  !=  <>  >=  <=

2.按逻辑运算符 and or not

3.模糊查询 like     between and      in      is null

示例:

#查询部门编号不等于90号的员工名和部门编号
SELECT last_name,department_id FROM employees WHERE department_id <> 90;

#查询工资在10000到20000之间的员工名、薪资和奖金
SELECT first_name,salary,`commission_pct` FROM employees WHERE salary>=10000 AND salary<=20000;

#查询员工名中包含字符a的员工信息
SELECT * FROM employees WHERE last_name LIKE '%a%';
#查询员工名中第二个字符为_的员工名
SELECT last_name FROM employees WHERE last_name LIKE '_\_%';
SELECT last_name FROM employees WHERE last_name LIKE '_a_%' ESCAPE 'a';

%为通配符,可以匹配0至多个字符,_只能匹配一个字符,可以通过反斜杠进行转义,也可以使用escape指明自定义的转义字符

#查询员工编号100在120之间的员工信息
SELECT * FROM employees WHERE employee_id BETWEEN 100 AND 120;
#等价于 >= and <=  

 #查询员工的工种编号是IT_PROG/AD_VP/AD_PRES中的一个员工名和工种编号
SELECT 
  first_name,
  job_id 
FROM
  employees 
WHERE job_id IN ('IT_PROT', 'AD_VP', 'AD_PRES');

#安全等于 <=>
SELECT last_name,commission_pct FROM employees WHERE commission_pct <=> NULL;
SELECT * FROM employees WHERE salary <=>12000;
# is null 尽可以判断是否为null值
# = 只能判断值
# <=> 都可以判断 

三、排序查询

 语法:select  查询列表  from  表 【where 筛选条件】 order by 排序列表【asc、desc】

执行顺序:表、筛选条件、查询列表、排序

asc是升序,desc降序,不写默认是asc升序

order by 支持单个字段,多个字段,表达式,函数,别名

示例:

#按姓名的长度显示员工的姓名和工资
SELECT LENGTH(last_name) 字节长度 ,last_name,salary FROM employees ORDER BY 字节长度 DESC;

#查询员工信息,先按照工资升序,再按员工编号降序
SELECT * FROM employees ORDER BY salary ASC,employee_id DESC;

ifnull(commission_pct,0)若为null则为0

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值