使用myemployees.sql进行sql语言的条件查询

条件查询

# 进阶2:条件查询
/*
语法: 
     select
           查询列表
     from  
           表名
     where 
           筛选条件;
  分类:
      一、按条件表达式筛选
      条件运算符:> < = !=  <> <= >=
      二、按逻辑表达式筛选
      逻辑运算符:&& || !
                  and or not
      三、模糊查询
               like
               between and
               in
               is null
 */
 
# 一、按条件表达式筛选
 
#案例1:查询工资>12000的员工信息
SELECT
      *
FROM
      employees
WHERE 
      salary>12000;
      
#案例2:查询部门编号不等于 90的员工名和部门编号
SELECT last_name, department_id 
FROM employees 
WHERE department_id <>90;

# 二、按逻辑表达式筛选
#案例1:查询工资在10000到20000之间的员工名、工资以及奖金
SELECT last_name,salary,commission_pct		
FROM employees;
WHERE salary>=10000 AND salary<=20000;

#三、模糊查询
#1.like 一般和通配符搭配使用 %任意多个字符,包含0个  _ 任意一个字符
#案例1:查询员工名中包含字符a的员工信息
SELECT *
FROM employees
WHERE last_name LIKE '%a%';
# 案例2:查询员工名中第三个字符为e,第五个字符为a的员工名
SELECT last_name,salary
FROM employees
WHERE last_name LIKE '__e_a%';

#案例3:查询员工名中第二个字符为_的员工名
SELECT last_name
FROM employees
WHERE last_name LIKE '_\_%';

#2.between and 包含临界值,先小后大

#案例1:查询员工编号在100到120之间的员工信息
SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 120;

#3. in 
#案例:查询员工的公种编号是IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
SELECT last_name, job_id
FROM employees
WHERE job_id IN ('IT_PROG','AD_VP','AD_PRES');

#4. is null   =与<>不能判断null
#案例1:查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
WHERE commission_pct IS NULL;


#安全等于 <=>
#案例1:查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
WHERE commission_pct <=> NULL;

#案例12:查询工资为12000的员工信息
SELECT
      *
FROM
      employees
WHERE 
      salary <=> 12000;

你可能感兴趣的:(数据库,mysql,sql,数据库)