DQL语句(一) -----简单select查询|天天热头条
2023-05-17 16:11:08来源:博客园
【资料图】
DQL语句
1、格式
- select 列名*N from 表名 where 查询条件1 and/or 查询条件2 group by 列 Having 分组条件 Order by 排序
2、规则
- sql在书写时除了查询条件外,大小写都可以
- select * from user where uname="zs";
- SELECT *FROM USER WHERE UNAME="zs";
- 要是在公司要看其他员工sql是大写还是小写
- --属于sql语句的注释
- 所有查询条件为字符串时,需要用""进行修饰,否则会当列名处理
3、select查询列和别名
3.1 直接查询
-- 查询所有员工信息select * from emp;-- 查询员工姓名select ename from emp;-- 查询员工薪资select sal from emp;-- 查询员工姓名和薪资select ename,sal from emp;select ename sal from emp;-- 错误,把sal当成ename别名了select ename sal comm from emp;-- 报错-- 查询员工姓名和薪资,给别名,推荐使用单引号select ename "员工姓名", sal "薪资" from emp;-- 查询到的数据可以直接进行运算select ename,sal,sal*12 from emp;select ename,sal,comm,(sal+comm)*12 from emp;-- 字符串拼接select CONCAT(ename," 的薪资是 ",sal) "员工薪资" from emp;
3.2 条件查询
-- 条件查询-- 查询empno=7844select * from emp where empno = 7844;-- 查询工资等于3000select * from emp where sal = 3000;-- 查询job等于salesmanselect * from emp where job = "SALESMAN";-- 查询工资大于1000select * from emp where sal > 1000;-- 查询工资小于1000select * from emp where sal < 1000;-- 查询job不等于salesmanselect * from emp where job != "SALESMAN";select * from emp where job <> "SALESMAN";-- 查询工资大于等于3000select * from emp where sal >= 3000; -- 查询工资介于1600和3000之间包括1600和3000select * from emp where sal between 1600 and 3000;-- NULL不能用=,要用isselect * from emp where comm is null;
3.3 in查询
-- IN查询-- 查询7499,7566,7782select * from emp where empno in(7499,7566,7782);-- 查询除了这三select * from emp where empno not in(7499,7566,7782);-- 如果表中没有这个编号,那么只查询其他的select * from emp where empno in(7499,7566,7782,8888);
3.4 like模糊查询
-- 模糊查询like,%表示任意字符,包括空-- 查询员工姓名最后一个字是N的信息select * from emp where ename like "%N";-- 查询员工姓名第一个字是M的信息select * from emp where ename like "M%";-- 查询员工姓名中带M的员工信息select * from emp where ename like"%M%";-- 下划线_表示任意一个字符select * from emp where ename like "_M%";-- 如果有特殊字符需要用\来转义select * from emp where ename like "%\%%";
4、查询结果排序
-- 按薪资排序(默认升序)select * from emp order by sal;-- 看每个job的sal排序select * from emp order by job,sal;-- 按列进行排序(示例第一列)select ename,sal from emp order by 1;-- 升序select * from emp order by sal asc;-- 降序select * from emp order by sal desc;-- job降序,sal升序select * from emp order by job desc,sal asc;
5、分页排序
-- 每次查询前n行(示例前4行)select * from emp limit 4;-- 分别查询第N页,每页显示M条select * from emp limit 0,3;select * from emp limit 3,3;select * from emp limit 6,3;select * from emp limit (n-1)*m,m;
标签: