select条件查询的格式如下:
SELECT 查询列表 FROM 表名 WHERE筛选条件;
根据筛选条件可以分为以下几类:
按照条件按表达式进行筛选
常用条件运算符如下:> 、<、=、!=、<>、<=、>=
按照逻辑表达式进行筛选
逻辑运算符的主要作用:用于连接条件表达式
& 、 || 、!
模糊查询
like、between and 、in、is null
like通常和通配符搭配使用:
①:%:代表任意多个字符
②:_:代表任意单个字符
举个栗子:
查询员工工资大于10000的员工信息
SELECT * FROM employees WHERE salary > 10000;
查询部门标号不等于90号的员工名和部门编号
SELECT name,department_id FROM employees WHERE department_id <> 90;
查询工资在1000-2000之间的员工名,工资
SELECT name,salary FROM employees WHERE salary >= 1000 and salary <=2000;
like:
查询员工名中包含a的员工信息
SELECT * FROM employeess WHERE last_name like '%a%';
查询员工名中第三个字符为n,第五个字符为m的员工信息
SELECT * FROM employees WHERE last_name like '__n_m%';
查询员工名中第二个字符_的员工信息
方法一:使用转义字符"\"
SELECT * FROM employees WHERE last_name like '_\_%';
方法二:自定义转义字符
SELECT * FROM employees WHERE last_name like '_$_%' ESCAPE '$';
between and 、in
查询员工工资在1000-2000之间的员工信息(包含临界值)
SELECT * FROM employees WHERE salary BETWEEN 1000 AND 2000;
查询员工工种编号为IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
方法一:
SELECT job_id,last_name FROM employees
WHERE job_id ='IT_PROG' OR
job_id ='AD_VP' OR
job_id ='AD_PRES' ;
方法二:
SELECT job_id,last_name FROM employeess
WHERE job_id in ('IT_PROG','AD_VP','AD_PRES');
in关键字的特点:
判断某字段的值是否属于in列表项中的某一项
in列表中的值都是统一类型或者相互兼容(即可以相互转换)
is null
查询员工没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employeess
WHERE commission_pct IS NULL;
查询员工有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employeess
WHERE commission_pct IS NOT NULL;
未经允许不得转载:天府数据港官方信息博客 » MySql数据库Select条件查询
客官点个赞呗! (0)