翼度科技»论坛 编程开发 mysql 查看内容

DQL语句(一) -----简单select查询

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
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 直接查询
  1. -- 查询所有员工信息
  2. select * from emp;
  3. -- 查询员工姓名
  4. select ename from emp;
  5. -- 查询员工薪资
  6. select sal from emp;
  7. -- 查询员工姓名和薪资
  8. select ename,sal from emp;
  9. select ename sal from emp;-- 错误,把sal当成ename别名了
  10. select ename sal comm from emp;-- 报错
  11. -- 查询员工姓名和薪资,给别名,推荐使用单引号
  12. select ename '员工姓名', sal "薪资" from emp;
  13. -- 查询到的数据可以直接进行运算
  14. select ename,sal,sal*12 from emp;
  15. select ename,sal,comm,(sal+comm)*12 from emp;
  16. -- 字符串拼接
  17. select CONCAT(ename,' 的薪资是 ',sal) '员工薪资' from emp;
复制代码

3.2 条件查询
  1. -- 条件查询
  2. -- 查询empno=7844
  3. select * from emp where empno = 7844;
  4. -- 查询工资等于3000
  5. select * from emp where sal = 3000;
  6. -- 查询job等于salesman
  7. select * from emp where job = 'SALESMAN';
  8. -- 查询工资大于1000
  9. select * from emp where sal > 1000;
  10. -- 查询工资小于1000
  11. select * from emp where sal < 1000;
  12. -- 查询job不等于salesman
  13. select * from emp where job != 'SALESMAN';
  14. select * from emp where job <> 'SALESMAN';
  15. -- 查询工资大于等于3000
  16. select * from emp where sal >= 3000;  
  17. -- 查询工资介于1600和3000之间包括1600和3000
  18. select * from emp where sal between 1600 and 3000;
  19. -- NULL不能用=,要用is
  20. select * from emp where comm is null;
复制代码
3.3 in查询
  1. -- IN查询
  2. -- 查询7499,7566,7782
  3. select * from emp where empno in(7499,7566,7782);
  4. -- 查询除了这三
  5. select * from emp where empno not in(7499,7566,7782);
  6. -- 如果表中没有这个编号,那么只查询其他的
  7. select * from emp where empno in(7499,7566,7782,8888);
复制代码
3.4 like模糊查询
  1. -- 模糊查询like,%表示任意字符,包括空
  2. -- 查询员工姓名最后一个字是N的信息
  3. select * from emp where ename like '%N';
  4. -- 查询员工姓名第一个字是M的信息
  5. select * from emp where ename like 'M%';
  6. -- 查询员工姓名中带M的员工信息
  7. select * from emp where ename like'%M%';
  8. -- 下划线_表示任意一个字符
  9. select * from emp where ename like '_M%';
  10. -- 如果有特殊字符需要用\来转义
  11. select * from emp where ename like '%\%%';
复制代码
4、查询结果排序
  1. -- 按薪资排序(默认升序)
  2. select * from emp order by sal;
  3. -- 看每个job的sal排序
  4. select * from emp order by job,sal;
  5. -- 按列进行排序(示例第一列)
  6. select ename,sal from emp order by 1;
  7. -- 升序
  8. select * from emp order by sal asc;
  9. -- 降序
  10. select * from emp order by sal desc;
  11. -- job降序,sal升序
  12. select * from emp order by job desc,sal asc;
复制代码
5、分页排序
  1. -- 每次查询前n行(示例前4行)
  2. select * from emp limit 4;
  3. -- 分别查询第N页,每页显示M条
  4. select * from emp limit 0,3;
  5. select * from emp limit 3,3;
  6. select * from emp limit 6,3;
  7. select * from emp limit (n-1)*m,m;
复制代码



来源:https://www.cnblogs.com/dimension0116/p/17409105.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具