10. MySQL基础-02条件查询、排序查询
2. 条件查询
- 语法
select 查询列表 from 表名 where 筛选条件;
分类
按条件表达式筛选
简单的条件运算符:> < = != <> >= <=
按逻辑表达式筛选
逻辑运算符: &&,||,!; and,or ,not
模糊查询:like,between and, in
一般和通配符配合使用;
通配符:
% 任意多个字符包括0个字符
_ 任意单个字符
like:
查询姓名中包含a的信息
select * from student where name like ‘%a%’;
查询员工名第三个为字符为h,第五个字符也是 h的姓名与年龄
select name,age from student where name like ‘ __h_h’
查询姓名第二个字为_的信息
select name from student where name like ‘_$ _%’ DSCAPE $
DSCAPE转移字段(上例中$可以改为任何字符)
between and
使用between and 可以提高语句简介度
包含临界值
两个临界值不能交换顺序
select * from student where age>=10 and age<=12 相当于 select * from student where age between 10 and 12
in
使用in 可以提高语句简介度
in列表的值必须类型一致
select name,class from student where class=‘一班’ or class=‘二班’ or class=‘三班’;
相当于 select name,class from student where class in(‘一班’,‘二班’,‘三班’);
if null
<>,=不能去判断null的值
is null 和is not null可以判断null的值
select name,awards(奖项) from student where is null; 没有奖项
select name,awards from student where is not null; 有奖项
安全等于<=>
既可以判断是否为空又可以判断普通值
select name,awards(奖项) from student where <=> null; 没有奖项
可读性比较差,不建议使用
3. 排序查询
- 语法:
- SELECT 查询列表 FROM 表 【筛选条件】 order by 【asc|desc】
- 特点:
- asc代表的是升序,desc代表的是降序,如果不写,默认是升序
- 案例1(查询学生信息,要求英语成绩从低到高):
- SELECT * FROM student ORDER BY english(英语成绩) desc;
- 案例2(查询学生信息,年龄大于18,按入学时间升序)【筛选条件排序】
- SELECT * FROM student WHERE age>18 ORDER BY inschool(入学时间) asc;
- 案例3【按表达式排序】
- SELECT * ,(English+ifnull(fujia,0)) as 总成绩 FROM student ORDER BY (English+ifnull(fujia,0));
- 案例4【按别名名称排序】
- SELECT * ,(English+ifnull(fujia,0)) as 总成绩 FROM student ORDER BY 总成绩;
- 案例5【按姓名长度显示学生姓名和成绩】
- SELECT length(name) as 字节长度,name FROM sutdent ORDER BY length(name) DESC;
- 案例6(查询学生信息,先按语文成绩降序,再按年龄升序)【按多个字段排序
- SELECT * FROM student ORDER BY Chinese desc,age asc;
10. MySQL基础-02条件查询、排序查询的更多相关文章
- 【2017-03-10】Tsql语句基础、条件,高级查询
一.语句基础 1.创建数据库:create database 数据库名(不能汉字,不能数字.符号开头) 2.删除数据库:drop database 数据库名 3.选用数据库:use 数据库名 4.创建 ...
- 数据库MySQL--条件查询/排序查询
一.条件查询 条件查询:满足条件的字段被筛选出来 语法:select 查询列表字段 from 表名 where 筛选条件: 条件查询的条件分类: 1.按条件表达式筛选:条件运算符:>, < ...
- MYSQL基础02(查询)
查询是很大的一块,所以这里我只会写mysql的特点,就我目前使用的情况,MYSQL对标准SQL是比较支持,如果是新手的话,建议去w3school 学习标准SQL. 1.DUAL DUAL是一个虚拟表, ...
- mysql基础之日志管理(查询日志、慢查询日志、错误日志、二进制日志、中继日志、事务日志)
日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 ,事务日志. 修改配置或者想要使配置永久生效需将内容写入配置文 ...
- mysql基础(3)-高级查询
聚合函数 count 返回查询结果的条数 max 返回查询结果的最大值 min 返回查询结果的最小值 sum 返回查询结果的和 avg 返回查询结果的平均值 统计分数大于等于90的人数: mysq ...
- MySql(五)select排序查询
举个栗子/**查询员工信息,要求工资按照从高到低进行排序(默认升序)**/SELECT * FROM employees ORDER BY salary ASC;/**方法2:**/SELECT * ...
- 【MySQL基础打卡(一)】查询语句项目作业
文章目录 1.查找email表中重复的电子邮箱 1.1 创建email数据表 1.2 找出重复Email 2.查找大国家 2.1 创建数据表 2.2 查找大国家 对于安装MySQL比较恐惧,所以想在虚 ...
- mysql5.5根据条件进行排序查询 TP5
用到了 order by if 和 count 使用的是TP5.0 $sql = Db::name('teacher') ->alias('t') ->join('user u', 'u. ...
- 学习日常笔记<day15>mysql基础
1.数据库入门 1.1数据库软件 数据库:俗称数据的仓库,方便管理数据的软件(或程序) 1.2市面上数据库软件 Oracle,甲骨文公司的产品. 当前最流行应用最广泛的数据库软件.和java语言兼容非 ...
随机推荐
- TypeError: put() missing 1 required positional argument: 'item'问题分析
今天博主在练习带参数线程池的时候与到了如下问题: 翻译过来,就是缺少位置参数. 一.错误1 如果此时你的代码高亮是这样: 解决办法:在init魔法方法下的Queue没有加括号,即 self.q = Q ...
- 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍
目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...
- 全面解析UNIX缓冲区溢出 深度防御体系
首先简要回顾一下缓冲区溢出的攻击大系: ◆栈溢出(stack smashing) 未检查输入缓冲区长度,导致数组越界,覆盖栈中局部变量空间之上的栈桢指针%ebp以及函数返回地址retaddr,当函数返 ...
- MySQL SQL Injection Cheat Sheet
MySQL SQL Injection Cheat Sheet Some useful syntax reminders for SQL Injection into MySQL databases- ...
- Java并发编程虚假唤醒问题(生产者和消费者关系)
何为虚假唤醒: 当一个条件满足时,很多线程都被唤醒了,但是只有其中部分是有用的唤醒,其它的唤醒都是无用功:比如买货:如果商品本来没有货物,突然进了一件商品,这是所有的线程都被唤醒了,但是只能一个人买, ...
- Go 语言 切片的使用(增删改查)
Go 语言 切片的使用(增删改查) 引言Golang 的数组是固定长度,可以容纳相同数据类型的元素的集合.但是当长度固定了,在使用的时候肯定是会带来一些限制,比如说:申请的长度太大会浪费内存,太小又不 ...
- protocol 协议语言介绍
Protocol Buffer是Google提供的一种数据序列化协议,是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式.它可用于通讯协议.数据存储 ...
- Windows10与Centos7双系统安装踩的坑
1. 首先安装windows(太简单不说了) 2.然后安装Centos7(太简单不说了) 3.注意:安装完Centos7重启电脑进入系统引导项突然发现没有Windows引导项 0x06 恢复Windo ...
- Kruscal algorithm
#include <iostream> #include <algorithm> using namespace std; #define MAX 5 #define INF ...
- Redis 相比 Memcached 有哪些优势?
1.Memcached 所有的值均是简单的字符串,redis 作为其替代者,支持更为丰 富的数据类 2.Redis 的速度比 Memcached 快很 3.Redis 可以持久化其数据