SQL基本语句---MySQL05---数据的查询02(范围查询、排序)

文章目录

    • 1.范围查询
      • 1.1模糊范围查询(关键字:like,rlike)
        • like匹配查询
        • rlike正则查询
      • 1.2指定范围查询
        • 连续范围内(关键字:between......and)
        • 非连续范围内(关键字:in)
      • 1.3空判断(关键字:is null)
    • 2.排序(关键字:order by)
      • 排序一个字段
      • 排序多个字段

1.范围查询

1.1模糊范围查询(关键字:like,rlike)

用于只记得部分关键字的查询

like匹配查询

  • % 一个或者多个字符
  • _ 替换一个字符

查询姓名中以“小”字开头的姓名

select name from students where name='小';

在这里插入图片描述

select name from students where name like '小%';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第1张图片

select name from students where name like '小_';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第2张图片

查询带“小”字的名字

select name from students where name like '%小%';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第3张图片

查询三个字的名字

select name from students where name like '___';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第4张图片

查询最少有2个字的名字

select name from students where name like'__%';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第5张图片

rlike正则查询

查询以“李”开始的名字

select name from students where name rlike '^李.*';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第6张图片

查询以“李”开始,以“白”结束的名字

select name from students where name rlike '^李.*白$';

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第7张图片

1.2指定范围查询

连续范围内(关键字:between…and)

查询年龄从12到24之间的同学

select name, age from students where age between 12 and 24;

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第8张图片

查询年龄不在12到14之间的同学

select name, age from students where age not between 12 and 24;

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第9张图片

非连续范围内(关键字:in)

查询年龄为18、25、65的同学

select name, age from students where age=18 or age=25 or age=65;
-- 等价于
select name, age from students where age in (18, 25 , 65);	

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第10张图片

查询年龄不是18、25、65之间的同学

select name, age from students where age not in (18, 25 , 65);	

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第11张图片

1.3空判断(关键字:is null)

判断身高信息为不空的同学

select *from students where height is not null;

查询身高信息为空的同学

select *from students where height is null;

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第12张图片

2.排序(关键字:order by)

作用:是查询出来的数据以某种规则呈现

  1. acs升序,从小到大
  2. desc降序,从小到大
  3. MySQL中默认asc升序排序

排序一个字段

order by 字段

查询身高在170到180之间的男性,并按照年龄从小到大排序

select name, height from students where (height between 170 and 180) and gender=1 order by age asc;

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第13张图片

查询年龄在25到35之间的女性,并按照身高从高到低排序

select name, age,height from students where (age between 25 and 35) and gender=2 order by height desc;

在这里插入图片描述

排序多个字段

order by 多个字段

查询年龄在25到65岁之间的男性,身高从低到高排序,如果身高相同的情况下按照id从大到小排序

select *from students where (age between 25 and 65) and gender =1 order by height asc, age desc;

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第14张图片

按照id 从大到小,年龄从小到大,身高从高到低排序

select *from students order by id desc, age asc,height desc;

SQL基本语句---MySQL05---数据的查询02(范围查询、排序)_第15张图片

你可能感兴趣的:(#,MySQL,mysql,sql,数据库)