MySQL的查询语言——条件查询

1、语法:

              select    查询列表

              from      表名

              where   筛选条件;

2、分类

2.1 按条件表达式筛选

          条件运算符:  >    <    =       !=      <>    >=     <=

          案例1:查询工资>12000的员工信息

-- 1.1查询工资>12000的员工信息
SELECT * from employees
WHERE salary > 12000;

          案例2:查询部门编号不等于90号的员工名和部门编号

-- 1.2 查询部门编号不等于90号的员工名和部门编号
SELECT last_name,department_id
from employees
where department_id <> 90;

2.2按逻辑表达式筛选

          作用:用来连接条件表达式

          逻辑运算符:and(&&)      or(||)       not(!)

          &&和and:两个条件都为true时,结果为true,反之则为false

            || 或 or  :只要有一个条件为true,结果就为true,反之则为false

          ! 或 not:如果连接的条件本身为false,结果为true,反之为false

          案例1:查询工资在10000到20000之间的员工名、工资和奖金

-- 2.1 查询工资在10000到20000之间的员工名、工资、以及奖金
SELECT last_name,salary,commission_pct
from employees
where salary >= 10000 AND salary <= 20000;

          案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息

-- 2.2查询部门编号不是在90到110之间,或者工资高于15000的员工信息
SELECT * FROM employees
where department_id < 90 OR department_id > 110 OR salary > 15000;

SELECT * FROM employees
where NOT(department_id >= 90 AND department_id <= 110) OR salary > 15000;

2.3 模糊查询      like 、between   and、in、isnull

2.3.1  like

         通配符:%,表示0或多个任意字符

         占位符:_,表示1个任意字符

          注意:若查询的名字中包含特殊字符,可用转义符号‘\’进行转义,如案例3,也可以使用关键词escape进行自定义转义符号,任意字符都可以作为转义字符,适应前需要定义,如案例3

          案例1:查询员工名中包含字符a的员工信息

--  3.1.1查询员工名中包含字符a的员工信息
SELECT * from employees
where last_name LIKE '%a%';

          案例2:查询员工名字第三个字符为n,第五个字符为l的员工名和工资

--  3.1.2查询员工名字第三个字符为n,第五个字符为l的员工名和工资
SELECT last_name,salary
from employeesin
where last_name LIKE '__n_l%';

          案例3:查询员工名中第二个字符为_的员工名

--  3.1.3查询员工名中第二个字符为_的员工名
SELECT last_name
FROM employees
where last_name LIKE '_\_%';

SELECT last_name
FROM employees
where last_name LIKE '_$_%' ESCAPE '$';

2.3.2  between  and

          注意:使用between   and 可以提高语句的简洁度;

                     包含两个临界值;

                      两个临界值的顺序不能颠倒,类似于先 >=  然后<=

          案例:查询员工编号在100到120之间的员工信息

--  3.2.1 查询员工编号在100到120之间的员工信息
SELECT * from employees
where employee_id >= 100 and employee_id <= 120;

SELECT * from employees
WHERE employee_id BETWEEN 100 AND 120;

2.3.3   in

          含义:判断某字段的值是否属于in列表中的某一项

          注意:使用in可以提高语句的简洁度;

                     in列表的值类型必须要保持一致或兼容

          案例:查询员工的工种编号是IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

--   3.3.1 查询员工的工种编号是  IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
SELECT last_name,job_id
FROM employees
where job_id = 'IT_PROG' OR job_id = 'AD_VP' OR job_id = 'AD_PRES';

SELECT last_name,job_id
FROM employees
where job_id in('IT_PROG','AD_VP' ,'AD_PRES');

2.3.4  is null

          注意:= 或 <> 不能用于判断null值;

                     is null 或 is not null 可以判断null值

          案例:查询没有奖金的员工名和奖金率

--  3.4.1 查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
where commission_pct IS NULL;

2.4  安全等于     <=>

          注意:安全等于既可以判断null值,也可以判断比较普通的数值

          案例:查询没有奖金的员工名和奖金率

--  4.1 查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
where commission_pct <=> NULL;

 

 

 

 

学习参考,总结于b站尚硅谷的mysql入门集锦视频,有兴趣可以去b站观看视频,也可私聊要视频链接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值