10. MySQL基础-02条件查询、排序查询

2. 条件查询

  1. 语法

​ select 查询列表 from 表名 where 筛选条件;

  1. 分类

    • 按条件表达式筛选

      简单的条件运算符:> < = != <> >= <=

    • 按逻辑表达式筛选

      逻辑运算符: &&,||,!; and,or ,not

    • 模糊查询:like,between and, in

      一般和通配符配合使用;

      通配符:

      % 任意多个字符包括0个字符

      _ 任意单个字符

  2. like:

    1. 查询姓名中包含a的信息

      select * from student where name like ‘%a%’;

    2. 查询员工名第三个为字符为h,第五个字符也是 h的姓名与年龄

      select name,age from student where name like ‘ __h_h’

    3. 查询姓名第二个字为_的信息

      select name from student where name like ‘_$ _%’ DSCAPE $

      DSCAPE转移字段(上例中$可以改为任何字符)

  3. between and

    • 使用between and 可以提高语句简介度

    • 包含临界值

    • 两个临界值不能交换顺序

    • select * from student where age>=10 and age<=12 相当于 select * from student where age between 10 and 12

  4. in

    • 使用in 可以提高语句简介度

    • in列表的值必须类型一致

    • select name,class from student where class=‘一班’ or class=‘二班’ or class=‘三班’;

    • 相当于 select name,class from student where class in(‘一班’,‘二班’,‘三班’);

  5. if null

    1. <>,=不能去判断null的值

    2. is null 和is not null可以判断null的值

      select name,awards(奖项) from student where is null; 没有奖项

      select name,awards from student where is not null; 有奖项

  6. 安全等于<=>

    1. 既可以判断是否为空又可以判断普通值

      select name,awards(奖项) from student where <=> null; 没有奖项

    2. 可读性比较差,不建议使用

3. 排序查询

  1. 语法:
    • SELECT 查询列表 FROM 表 【筛选条件】 order by 【asc|desc】
  2. 特点:
    • asc代表的是升序,desc代表的是降序,如果不写,默认是升序
  3. 案例1(查询学生信息,要求英语成绩从低到高):
    • SELECT * FROM student ORDER BY english(英语成绩) desc;
  4. 案例2(查询学生信息,年龄大于18,按入学时间升序)【筛选条件排序】
    • SELECT * FROM student WHERE age>18 ORDER BY inschool(入学时间) asc;
  5. 案例3【按表达式排序】
    • SELECT * ,(English+ifnull(fujia,0)) as 总成绩 FROM student ORDER BY (English+ifnull(fujia,0));
  6. 案例4【按别名名称排序】
    • SELECT * ,(English+ifnull(fujia,0)) as 总成绩 FROM student ORDER BY 总成绩;
  7. 案例5【按姓名长度显示学生姓名和成绩】
    • SELECT length(name) as 字节长度,name FROM sutdent ORDER BY length(name) DESC;
  8. 案例6(查询学生信息,先按语文成绩降序,再按年龄升序)【按多个字段排序
    • SELECT * FROM student ORDER BY Chinese desc,age asc;
posted @ 2022-04-08 17:37  心,不伤不碎  阅读(90)  评论(0)    收藏  举报