MySQL操作系列之select查询--条件查询(二)

总条件查询分类

简单条件查询:>,<,=,!=(等同于<>),等等;
逻辑表达式筛选:and,or,not;
模糊查询:like,between and,in,is null;

一.简单条件查询与逻辑表达式筛选

示例:查询员工工资不是小于7900到1100之间的,或者是工资高于20000的:
SELECT  * FROM `employees` WHERE NOT(salary>=7900 AND salary<=11000) OR salary>=20000;

二.模糊查询

1.[LIKE关键字]查询first_name字段值中含有“小”这个字符的值
SELECT  * FROM `employees` WHERE first_name LIKE "%小%";
2.[BETWEEN AND关键字]查询员工工号在2到5之间的员工
SELECT  * FROM `employees` WHERE employee_id BETWEEN 2 AND 5;
3.[in关键字]判断某字段值是否属于in列表中的一项(查询job_id匹配3或5或6其中值的员工数据)
SELECT  * FROM `employees` WHERE job_id in(3,5,6);
4.[is NOT NULL或is NULL]判断字段值是否为空(查询commission_pct字段值为空的员工信息)
SELECT  * FROM `employees` WHERE commission_pct is NULL;
5.[下划线代表一个字符]查询第三个字段值为a的模糊查询条件LIKE "__a%"
查询以s开头的字段值的模糊查询条件LIKE "s%"
查询字段中包含a与b这两个字符,且a字符要在b字符之前的模糊查询条件LIKE "%a%b%"


三.排序查询

1.[DESC与ASC关键字]DESC降序,ASC升序,默认是升序(查询员工信息,按照员工工资从高到低查出)
SELECT * FROM employees ORDER BY salary DESC;

2.[LENGTH(str)函数](按照last_name的字符长度进程降序)
SELECT * FROM employees ORDER BY LENGTH(last_name) DESC;

3.多字段排序(先员工工资降序,然后工作id进行升序)
SELECT * FROM employees ORDER BY salary DESC,job_id ASC;

4.ORDER BY字句中可以支持多个字段,但字段,表达式,函数,别名;
  ORDER BY语句一般放在查询语句最后面的,除了limit语句;

猜你喜欢

转载自blog.csdn.net/qq_33429583/article/details/85167533