模糊查询
介绍
(1)当想查询学生姓名中包含字符a,就需要使用到模糊查询,模糊查询的话使用关键字是like(像)
(2)通配符
_:任意一个字符
张_:张三,张三丰
张__:张三,张三丰
%:表示0或者多个字符串
张%
通配符:_
##查询名字由5个字母构成的 学生记录
select * from 学生表 where sname like '_____';
##查询名字由5个字母构成的,并且第5个字符是i 学生记录
select * from 学生表 where sname like '____i';
通配符:%
##查询名字以’z‘开头的学生记录
select * from 学生表 where sname like 'z%';
##查询名字中第2个字符是i的学生记录
select * from 学生表 where sname like '_i%';
##查询名字中包含a字符的学生记录
select * from 学生表 where sname like '%a%';
字段控制查询
去除重复查询(distinct 去重)
(1)查询员工的所有部门
select distinct deptno from emp;
null处理(ifnull)
(2)查询员工的薪资(工资 + 奖金)
#问题:任何数据 + null —>null
#1800 + null ->1800
ifnull(A,B):如果A是null,使用B的值,如果A不是null,就使用A。
select
sal,comm,sal + ifnull(comm,0)
from
emp ;
别名(as)
别名:给这个列 换一个新的名字
select
sal,comm,sal + ifnull(comm,0) as money
from
emp;
as关键字可以省略
select
ename name,sal,comm,sal + ifnull(comm,0) as money
from
emp;
排序(order by)
升序:asc 降序:desc
升序
(1)查询所有的学生信息,根据年龄进行升序排序
select * from stu order by age asc;
降序
(2)查询所有的学生信息,根据年龄进行降序排序
select * from stu order by age desc;
(2)查询所有的学生信息,根据名字进行升序排序
select * from stu order by sname asc;
(3)查询所有员工信息,根据工资进行排序,如果工资相同按照员工号升序
select * from emp order by sal desc,empno asc;