回退至Mysql数据库理论与实战 #进阶2:条件查询 语法: select 查询列表-----③ from 表名 ----① where 条件表达式;-----② 条件表达式的写法: 情况一:关系表达式 sql中的关系运算符:> < >= <= = <> != 情况二:逻辑表达式 sql中的逻辑运算符: and、 or、 not【官方标准】 && || ! 情况三:模糊查询 ★ like、between and、in、is null
#一、按关系表达式进行查询 #案例1 :查询工资>8000的员工信息 SELECT * FROM employees WHERE salary>8000; #案例2:查询工种号不是’IT_PROG‘的员工姓名、工种号和工资 #方式一 SELECT last_name,job_id,salary FROM employees WHERE job_id <> ‘IT_PROG’; #方式二 SELECT last_name,job_id,salary FROM employees WHERE NOT(job_id = ‘IT_PROG’); #二、按逻辑表达式进行查询 #案例1:查询工资不在5000——12000的,并且部门编号>90的员工信息 #方式一 SELECT * FROM employees WHERE NOT(salary>=5000 AND salary<=12000) AND department_id>90; #方式二 SELECT * FROM employees WHERE salary<5000 OR salary>12000 AND department_id>90;
#三、模糊查询 #1、like 功能:一般和通配符搭配,进行模糊查询 通配符: %任意多个字符,包含0个 _任意单个字符
#案例1:查询员工姓名中包含字符a的员工信息 SELECT * FROM employees WHERE last_name LIKE ‘%a%’; #案例2:查询员工姓名中首字符为e的员工信息 SELECT * FROM employees WHERE last_name LIKE ‘e%’; #案例3:查询员工姓名中首字符为ernst的员工信息 SELECT * FROM employees WHERE last_name LIKE ‘ernst%’; #案例4:查询员工姓名中第三个字符为c,并且第五个字符为h的员工信息 SELECT * FROM employees WHERE last_name LIKE ‘__c_h%’; #案例5:查询员工姓名中第二个字符为_的员工信息 #转义的使用方式一:使用 SELECT * FROM employees WHERE last_name LIKE ‘_%’; #转义的使用方式二:使用escapse SELECT * FROM employees WHERE last_name LIKE 'KaTeX parse error: Expected group after '_' at position 1: _̲%' ESCAPE '’; #案例6:查询员工编号为2开头的员工信息 SELECT * FROM employees WHERE employee_id LIKE ‘2%’;
#2、between and 功能:判断某个字段的值是否在xx区间 用法: between xx and xx not between xx and xx 特点: ①和使用逻辑表达式的效果是等价的,但语法更加简洁 ②包含两个临界值 ③两个临界值的顺序不能调换
#案例1:查询工资在10000 到20000之间的员工信息 #方式一 SELECT * FROM employees WHERE salary>=10000 AND salary<=20000; #方式二 SELECT * FROM employees WHERE salary BETWEEN 20000 AND 10000; #案例2:查询年薪在100000 到200000之间的员工的姓名和年薪 SELECT last_name,salary12(1 IFNULL(commission_pct,0)) 年薪 FROM employees WHERE salary12(1 IFNULL(commission_pct,0)) BETWEEN 100000 AND 200000; #案例3:查询年薪不在100000 到200000之间的员工的姓名和年薪 #方式一: SELECT last_name,salary12(1 IFNULL(commission_pct,0)) 年薪 FROM employees WHERE NOT(salary12(1 IFNULL(commission_pct,0)) BETWEEN 100000 AND 200000); #方式二:
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120716521