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;

10. MySQL基础-02条件查询、排序查询的更多相关文章

  1. 【2017-03-10】Tsql语句基础、条件,高级查询

    一.语句基础 1.创建数据库:create database 数据库名(不能汉字,不能数字.符号开头) 2.删除数据库:drop database 数据库名 3.选用数据库:use 数据库名 4.创建 ...

  2. 数据库MySQL--条件查询/排序查询

    一.条件查询 条件查询:满足条件的字段被筛选出来 语法:select 查询列表字段 from 表名 where 筛选条件: 条件查询的条件分类: 1.按条件表达式筛选:条件运算符:>, < ...

  3. MYSQL基础02(查询)

    查询是很大的一块,所以这里我只会写mysql的特点,就我目前使用的情况,MYSQL对标准SQL是比较支持,如果是新手的话,建议去w3school 学习标准SQL. 1.DUAL DUAL是一个虚拟表, ...

  4. mysql基础之日志管理(查询日志、慢查询日志、错误日志、二进制日志、中继日志、事务日志)

    日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 ,事务日志. 修改配置或者想要使配置永久生效需将内容写入配置文 ...

  5. mysql基础(3)-高级查询

    聚合函数 count 返回查询结果的条数 max 返回查询结果的最大值 min 返回查询结果的最小值 sum 返回查询结果的和 avg 返回查询结果的平均值   统计分数大于等于90的人数: mysq ...

  6. MySql(五)select排序查询

    举个栗子/**查询员工信息,要求工资按照从高到低进行排序(默认升序)**/SELECT * FROM employees ORDER BY salary ASC;/**方法2:**/SELECT * ...

  7. 【MySQL基础打卡(一)】查询语句项目作业

    文章目录 1.查找email表中重复的电子邮箱 1.1 创建email数据表 1.2 找出重复Email 2.查找大国家 2.1 创建数据表 2.2 查找大国家 对于安装MySQL比较恐惧,所以想在虚 ...

  8. mysql5.5根据条件进行排序查询 TP5

    用到了 order by if 和 count 使用的是TP5.0 $sql = Db::name('teacher') ->alias('t') ->join('user u', 'u. ...

  9. 学习日常笔记<day15>mysql基础

    1.数据库入门 1.1数据库软件 数据库:俗称数据的仓库,方便管理数据的软件(或程序) 1.2市面上数据库软件 Oracle,甲骨文公司的产品. 当前最流行应用最广泛的数据库软件.和java语言兼容非 ...

随机推荐

  1. 报错----运行springboot项目出现:Type javax.xml.bind.JAXBContext not present

    目的:运行springboot项目出现:Type javax.xml.bind.JAXBContext not present 环境: 问题:运行springboot项目出现:Type javax.x ...

  2. Spring Boot 进行优雅的字段校验

    Controller层 VS Service层 一般推荐与业务无关的放在Controller层中进行校验,而与业务有关的放在Service层中进行校验. 那么如何将参数校验写的优雅美观呢,如果都是if ...

  3. 5种常见的Docker Compose错误

    在构建一个容器化应用程序时,开发人员需要一种方法来引导他们正在使用的容器去测试其代码.虽然有几种方法可以做到这一点,但 Docker Compose 是最流行的选择之一.它让你可以轻松指定开发期间要引 ...

  4. linux mac 命令行 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决

    ➜ ~ ssh adleytales@192.168.1.10 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNIN ...

  5. java中对集合操作的易错点01

    今天用for循环遍历集合,对集合中满足条件的元素进行remove操作报错:ConcurrentModificationException 所以,在遍历集合进行增.删操作时,要使用迭代器的方式 publ ...

  6. python的内存回收机制

          变量相当于门牌号,当门牌没有了,即函数的引用都没有调用了,内存的数据就会被清除掉. python内有个定时器,定期的会刷新,如果发现内存中数据被引用了,就会被回收,这个就是内存的回收机制 ...

  7. 关于IIS应用程序池的默认参数设置解决

    关于IIS应用程序池的默认参数设置,一般如下设置以满足IIS站点的需要. 1.关于IIS站点的启动模式,以及处理请求的管道模式设置. 2.回收机制设置, A)若IIS站点程序中存在单例模式访问DB数据 ...

  8. springboot项目yml中使用中文注释报错的解决方法1

    启动springboot项目时报错:/application.yml.....这大致就是说application.yml有问题,那么目前我所知道的大致两种情况会报错,第一种是yml格式有问题,要注意缩 ...

  9. Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

    配置变更JDK 版本升级第三方类库升级响应式 Spring 编程支持HTTP/2 支持配置属性绑定更多改进与加强-

  10. 静态嵌套类(Static Nested Class)和内部类(Inner Class) 的不同?

    Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类 实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起 来挺诡异的,如下所示. / ...