基本查询

--查询基本使用(条件,排序,聚合函数,分组,分页)

--创建学生表
create table students (
id int unsigned not null auto_increment primary key,
name varchar(20) default '',
age tinyint unsigned default 0,
high decimal(5,2),
gender enum('男', '女', '中性', '保密') default '保密',
cls_id int unsigned default 0,
is_delete bit default 0
); --创建班级表
create table classes(
id int unsigned auto_increment primary key not null,
name varchar(20) not null
); --往students表里插入数据
insert into students values
(0,'小明',18,180.00,1,1,0),
(0,'小月月',19,180.00,1,2,0),
(0,'彭于晏',28,185.00,1,1,0),
(0,'刘德华',58,175.00,1,2,0),
(0,'黄蓉',108,160.00,2,1,0),
(0,'凤姐',44,150.00,4,2,1),
(0,'王祖贤',52,170.00,2,1,1),
(0,'周杰伦儿',34,null,1,1,0),
(0,'程坤',44,181.00,1,2,0),
(0,'和珅',55,166.00,1,2,0),
(0,'刘亦菲',29,162.00,2,3,0),
(0,'金星',45,180.00,3,4,0),
(0,'静香',18,170.00,2,4,0),
(0,'郭靖',22,167.00,1,5,0),
(0,'周杰',33,178.00,1,1,0),
(0,'钱小豪',56,178.00,1,1,0),
(0,'谢霆锋',38,175.00,1,1,0),
(0,'陈冠希',38,175.00,1,1,0); --查询
-- 查询所有列
--select * from 表名
select * from students; --一定条件查询(where)
select * from where id=5; -- 查询制定列
select id,name from students; -- 使用as给字段起别名
select id,name as '姓名', age, high, gender from students; -- 通过表名字段查询
select students.name from students; -- 给表起别名查询
select s.id,s.name,s.age from students as s; --消除重复行
-- distinct
select distinct age from students; --条件查询
--比较运算符
-- 查询年纪大于18岁的信息
select * from students where age > 18; --18岁到28岁之间(and)
select * from students where age >= 18 and age =< 28;
select * from students where age between 18 and 28
--在18岁以上或者身高180以上的人(or)
select * from students where age > 18 or high > 180; -- 模糊查询
-- like
-- % 替代1个或者多个甚至是没有
-- 查询姓名中有‘小’的所有名字
select * from students where name like '%小%'; -- 查询两个字人的名字
select * from students where name like '__'; -- 查询至少有2个字的名字
select * from students where name like '%__%'; --范围查询
-- in (1,3,8)表示在一个非连续的范围内
-- 查询 年纪为18和34的人
select * from students where age in (18, 34); --查询 年龄在17岁到34岁之间的信息
select * from students where age between 17 and 34; --查询 年纪不在18到34岁的信息
select * from students where age not between 17 and 34; -- 空判断
-- 判断is null
-- 查询身高为空的信息
select * from students where high is null; -- 判断非空is not null
select * from students where high is not null; -- 排序
-- order by 字段
-- asc从小到大排列,即升序
-- desc从大到小排序,即降序 -- 查询年纪在18到34岁之间的男性,按照年纪从小到大
select * from students where gender=1 and age between 18 and 34
order by age; -- 查询年纪在18到34岁之间的女性,身高从高到矮
select * from students where gender=2 and age between 18 and 34
order by high desc; -- order by 多字段
-- 查询年纪在18到34岁的女性,身高从高到矮排序,如果身高相同的
情况下按照年纪从小到大排序
select * from students where age between 18 and 34 and
gender=2 order by high desc; -- 查询年纪在18到34岁的男性,身高从高到矮排序,如果身高相同的
情况下按照年纪从小到大排序,如果年龄也相等那么按照id从小到大排
序;
select * from students where age between 18 and 34 and
gender=1 order by high desc, age, id desc; --聚合函数
-- 总数
-- count
-- 查询男性有多少人
select count(*) from students where gender=1; -- 最大值
-- max
-- 查询最大的年纪
select max(age) from students; -- 查询女性的最高 身高
select max(high) from students where gender=2; -- 最小值
-- min
select min(high) from students; -- 求和
-- sum
-- 计算所有人的年龄总和
select sum(age) from students; -- 平均值
-- avg
-- 计算平均年纪
-- 计算平均年纪 sum(age)/count(*)
select sum(age)/count(*) from students;
select avg(age),2 from students;
-- 保留2位小数
select round(avg(age),2) from students; -- 分组
-- group by
-- 按照性别分组,查询所有的性别
select gender from students group by gender; -- 计算每组性别的人数
select gender, count(*) from students group by gender; -- 查询男性组中的姓名 group_concat
select gender,group_concat(name) from students where gender=1 group by gender; -- having
-- 查询每个性别平均年纪超过30岁的性别,以及姓名 having avg(age) >
30
select gender, group_concat(name) from students group by gender having avg(age) > 30; -- 查询每种性别中的人数多于4个的组的信息
select gender,group_concat(name) from students group by gender having count(*)>4;
-- 分页
-- 显示5页
select * from students limit 5; -- 分页显示,每页显示2条数据
select * from students limit 0, 2; -- 按照身高从高到矮排序,查找出所有女性,并且分页显示,每页显示
2条数据
select * from students where gender=2 order by high desc limit 0,2;

MariaDB(第三章)select的更多相关文章

  1. MariaDB第三章(select)

    基本查询 --查询基本使用(条件,排序,聚合函数,分组,分页) --创建学生表 create table students ( id int unsigned not null auto_increm ...

  2. MariaDB第三章:数据库设计与备份--小白博客

    数据库设计 1.第一范式(确保每列保持原子性) 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式. 2.第二范式(确保表中的每列都和主键相关) 第 ...

  3. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  4. 《Entity Framework 6 Recipes》中文翻译系列 (19) -----第三章 查询之使用位操作和多属性连接(join)

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-16  过滤中使用位操作 问题 你想在查询的过滤条件中使用位操作. 解决方案 假 ...

  5. [转]Windows Shell 编程 第三章 【转自:http://blog.csdn.net/wangqiulin123456/article/details/7987901】

    第三章 操作文件 我依然清楚地记得,Windows95 的贝塔版出现的情形,它在朋友之间和学院中传播,好酷,全新的文件管理器,一种全图标,全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方 ...

  6. Mysql技术内幕-笔记-第三章 查询处理

    第三章 查询处理 逻辑查询处理:(8) SELECT (9) DISTINCT <select_list> (1) FROM <left_table> (3) <join ...

  7. 统计学习导论:基于R应用——第三章习题

    第三章习题 部分证明题未给出答案 1. 表3.4中,零假设是指三种形式的广告对TV的销量没什么影响.而电视广告和收音机广告的P值小说明,原假设是错的,也就是电视广告和收音机广告均对TV的销量有影响:报 ...

  8. [HeadFirst-JSPServlet学习笔记][第三章:实战MVC]

    第三章 实战MVC J2EE如何集成一切 Java2企业版(Java 2 Enterprise Editon,J2EE)是一种超级规范.规定了servlets2.4,JSP2.0,EJB2.1(Ent ...

  9. Knockout应用开发指南 第三章:绑定语法(3)

    原文:Knockout应用开发指南 第三章:绑定语法(3) 12   value 绑定 目的 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input&g ...

  10. Knockout应用开发指南 第三章:绑定语法(2)

    原文:Knockout应用开发指南 第三章:绑定语法(2) 7   click 绑定 目的 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用 ...

随机推荐

  1. Hive中运行HQL语句错误

    错误:org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException( 或者为FAILED: Execution Error, return ...

  2. redis主从配置及其java的调用(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/gsying1474/article/de ...

  3. jmeter-请求头需要URIEncode编译时

    使用函数 ${__urldecode()} 例如 :${__urldecode(%E4%BB%93%E5%BA%93)}${__urldecode(${参数变量})}

  4. maven工程的简单构建

    1.按maven约定的目录结构创建文件夹 约定目录结构:不按约定的目录来建maven无法正常工作:         Hello         |---src         |---|---main ...

  5. 【Python网络】HTTP

    HTTP概述 HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. HTTP就是一个通信规则,通信规则规定 ...

  6. 牛客网 Wannafly挑战赛3 B.遇见

    遇见 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld 题目描述 A和B在同一条路上,他们之间的距离为 k ...

  7. 四、SpringBoot整合mybatis——配置mybatis驼峰命名规则自动转换

    简述: mybatis驼峰式命名规则自动转换: 使用前提:数据库表设计按照规范“字段名中各单词使用下划线"_"划分”:使用好处:省去mapper.xml文件中繁琐编写表字段列表与表 ...

  8. CentOS7 安装JumpServer

    环境: CentOS Linux release 7.6.1810 (Core) JumpServer 1.4.8 Python 3.6.X MariaDB 编译安装Python3.6 首先,下载Py ...

  9. Inter IPP 处理图像数据的方法

    Inter IPP没有读取图片和保存图片的函数,需要结合opencv完成这个功能. opencv读到图片以后逐个像素点赋值给IPP显然是不可取的,方法如下: int main(int argc, ch ...

  10. webservice代码编写主要包括服务器端发布和客户端调用。

    一.java工程发布,java工程调用   (一).服务器端的编写 1.在eclipse里新建java project工程,创建功能类,通过关键字@webservice(name="newI ...