MySql的查询语句操作
1、普通查询
- 查询所有列
select * from emp;
- 查询指定列
select empno, enam, job from emp;
- 去除查询的重复列(表格特大的时候,如果存在相同的项目只显示一次)
select distinct empno, enam, job, sal from emp;
- 列运算(可以进行加减乘除的操作)
进行相乘的运算
//相乘
select sal*15 from emp;
进行相加的原酸
//相加
select sal+comm from emp;
将NULL转化为0来参与运算
select sal+IFNULL(comm, 0) from emp;
字符串的拼接
select concat('$', sal) from emp;
- 给列名起别名
select ename 姓名, job 工作 from emp;
2、条件查询
//查询工资大于20000的人员信息
SELECT * FROM emp WHERE sal > 2000;
//查询有奖金的人员信息
SELECT * FROM emp WHERE comm IS NOT NULL;
//查询是20部门员工的人员信息
SELECT * FROM emp WHERE deptno=20;
//查询是30部门员工的人员信息
SELECT * FROM emp WHERE deptno=30;
//查询工作是经理和分析师的人员信息
SELECT * FROM emp WHERE job in('经理', '分析师');
//查询工资在20000和30000之间的人员信息
SELECT * FROM emp WHERE sal betwee 20000 and 30000;
3、模糊查询
_表示单个字符
%表示N个字符
%XXX%表示XXX的任意位置。
//查询姓张且名字为两个字的人员
SELECT * FROM emp WHERE ename LIKE '张_';
//查询姓张且名字为三个字的人员
SELECT * FROM emp WHERE ename LIKE '张__';
//查询名字为两个字的人员信息
SELECT * FROM emp WHERE ename LIKE '__';
//查询名字为三个字的人员信息
SELECT * FROM emp WHERE ename LIKE '___';
//查询姓张的人员信息
SELECT * FROM emp WHERE ename LIKE '张%';
//查询名字中以刚结尾的人员信息
SELECT * FROM emp WHERE ename LIKE '%刚';
//查询名字中含有小字的人员信息
SELECT * FROM emp WHERE ename LIKE '%小%';
4、排序
关键字:ORDER BY 默认为升序排列 ASC(升序) DESC(降序)
若有相同的项目,则可以在后面添加其他的排序条件
//以工资的升序排列
SELECT * FROM emp ORDER BY sal ASC;
//以工资的降序进行排列
SELECT * FROM emp ORDER BY sal DESC;
//当有相同的项目存在的时候,可以添加其他的排序条件
SELECT * FROM emp ORDER BY sal DESC, empno ASC;
5、聚合函数
关键字
COUNT(*) 表示总共有几列
SUM(sal) 表示该列的总和
MAX(sal) 表示该列的最大值
MIN(sal) 表示该列的最小值
AVG(sal) 表示该列的平均值
//求出emp表格中的总人数,及工资的总和 最高 最低 和平均数
SELECT COUNT(*) 总人数, SUM(sal) 工资总和, MAX(sal) 最高工资, MIN(sal) 最低工资, AVG(sal) 平均工资 FROM emp;
6、分组查询
关键字
SELECT
FROM
WHERE 分组前限制条件
GROUP BY 分组依据
HAVING 分组后限制条件
ORDER BY 将整理好的数据排序
//代码示例
SELECT deptno, COUNT(*) FROM emp WHERE sal > 15000 GROUP BY deptno HAVING COUNT(*)>2;
7、mysql特有的limit查询
LIMIT 4, 3;
4表示:从第五行开始查(下标从0开始算)
3表示:查询3行记录
(当前页-1)* 每页记录数, 每页记录数
//查询第三页每页十行记录
SELECT * FROM emp LIMIT 20,10;
4420

被折叠的 条评论
为什么被折叠?



