MySQL 基础语句的练习2
CREATE TABLE student
(
id INT,
NAME VARCHAR (10),
Chinese FLOAT,
English FLOAT,
Math FLOAT
); INSERT INTO student VALUES (1,'张三',80,70,90);
INSERT INTO student VALUES (2,'李四',70,80,80);
INSERT INTO student VALUES (3,'张三',80,70,90);
INSERT INTO student VALUES (4,'张大锤',82.5,86.5,90);
INSERT INTO student VALUES (5,'李二蛋',76.5,80,78);
INSERT INTO student VALUES (6,'王老五',76.5,92,78); -- 查询表中所有学生的信息
SELECT * FROM student; -- 查询表中所有学生的姓名和对应的英语成绩。
SELECT NAME,English FROM student; -- 过滤表中英语成绩的重复数据
SELECT DISTINCT English FROM student; -- 使用别名表示学生分数
SELECT Chinese AS '语文',English AS '英语',Math '数学' FROM student; -- 查询姓名为李四的学生成绩
SELECT * FROM student WHERE NAME = '李四'; -- 查询英语成绩大于等于90分的同学
SELECT * FROM student WHERE English > 90; -- 查询总分大于200分的所有同学
SELECT *,(Chinese+English+Math) AS '总成绩' FROM student WHERE (Chinese+English+Math) > 200; -- 查询所有姓李的学生英语成绩。
SELECT * FROM student WHERE NAME LIKE '李%'; -- 查询英语>80或者总分>200的同学
SELECT * FROM student WHERE English > 80 OR (Chinese+English+Math) > 200; -- 统计每个学生的总分。
SELECT *,(Chinese+English+Math) AS '总成绩' FROM student; -- 在所有学生总分数上加10分特长分。
SELECT * , (Chinese+English+Math) AS '总成绩', (Chinese+English+Math) + 10 AS '特长分' FROM student; -- 5.8 、聚合查询 (使用聚合函数的查询)
-- 常用的聚合函数:和:sum() 平均:avg() 最大:max() 最小:min() 计数:count()
-- count:统计的数量不包括null,所以使用它来统计记录书,要使用不包括null的字段 -- 查询学生的Math的总成绩
SELECT SUM(Math) FROM student; -- 查询学生的Math的平均分
SELECT AVG(Math) FROM student; -- 查询Math的最高分
SELECT MAX(Math) AS '最高分' FROM student; -- 统计当前学生的人数
SELECT COUNT(*) FROM student; -- 统计每种数据的个数,取最大的
SELECT COUNT(id) FROM student; -- 统计id的个数 -- 5.9、分页查询(Limit 起始行,查询行数)
-- 起始行是从0开始 (没有的记录不显示)
-- 分页查询当前页的sql语句(SELECT * FROM student LIMIT (当前页-1)*每页显示的行数,每页显示的行数); -- 查询第1、2条记录
SELECT * FROM student LIMIT 0,2; -- 查询第3、4条记录
SELECT * FROM student LIMIT 2,2; -- 查询第5、6条记录
SELECT * FROM student LIMIT 4,2; -- 查询第7、8条记录(没记录,不显示)
-- SELECT * FROM student LIMIT 6,2; -- 上面这些可以看作是3页的数据 -- 默认情况下,排序是按照插入记录的先后顺序
-- 5.10、 查询排序(order by)
-- 语法: order by 字段 asc/desc
-- asc:正序 : 数字(递增) 字母(a-z)
-- desc:反序 :反过来 -- 按照id正序排序:
SELECT * FROM student ORDER BY id ASC;
-- 不写排序规则,默认正序
SELECT * FROM student ORDER BY id ; -- 按照id倒序:
SELECT * FROM student ORDER BY id DESC; -- 若相同,则按照插入顺序再排)
SELECT * FROM student ORDER BY Chinese; -- 注意:当有多个排序条件(先按照第一个条件排序,再第二个)
SELECT * FROM student ORDER BY Chinese , Math DESC; -- 5.11、分组查询(group by) -- 查询男女的人数
-- 预期结果:
-- 男 3
-- 女 2
-- 1)把学生按照性别分组
SELECT sex FROM student GROUP BY sex;
-- 2)统计每组的人数
SELECT sex , COUNT(*) FROM student GROUP BY sex; -- 5.12、分组查询后进行筛选 -- 查询总人数大于2的性别
-- 1) 查询男女的人数
SELECT sex,COUNT(*) FROM student GROUP BY sex;
-- 2) 筛选出人数大于2的记录
-- 分组之前的筛选用where
-- 分组以后再筛选用having
SELECT sex , COUNT(*) FROM student GROUP BY sex HAVING COUNT(*)>2;
MySQL 基础语句的练习2的更多相关文章
- MySQL 基础语句
MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...
- MySQL基础语句与其在Python中的使用
一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root (无密码时) QUIT (or \q) 退出 查看当前所有数据库 show dat ...
- MySQL基础语句【学习笔记】
放在这里,以备后查. 1. 数据库, 数据库服务器, 数据库语言 数据库,是持久性数据的集合,供给定企业的应用程序系统使用,并且由一个数据库管理系统来管理: 数据库服务器,又称数据库管理系统,用来管理 ...
- 入门MySQL——基础语句篇
前言: 前面几篇文章,我们介绍了MySQL的基础概念及逻辑架构.相信你现在应该有了自己的一套MySQL环境,接下来我们就可以开始练习MySQL了.本文将从MySQL最基础的语句出发,为你展示出创建及 ...
- MYSQL基础语句
参考书籍< MySQL数据库基础与实例教程> --孔祥盛 SQL(structured query language)结构化查询语言,应用最为广泛的关系型数据库语言. MYSQL属于关系型 ...
- 2-14-1 MySQL基础语句,查询语句
一. SQL概述 结构化查询语言(Structured Query Language)简称SQL 1. 它是一种特殊目的的编程语言 2. 它还是一种数据库查询和程序设计语言 (用于存取数据以及查询.更 ...
- MySQL基础语句(MySQL内置函数 )
MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码. 返回 CustomerName 字段第一个字母的 ASCII 码: SELECT ASCI ...
- MySQL基础语句(修改)
①INSERT INSERT INTO students (class_id, name, gender, score) VALUES (2, '大牛', 'M', 80); 向students表插入 ...
- MySQL 基础语句的练习
-- *** ①.对数据库的操作 *** -- -- 查看所有的数据库 SHOW DATABASES; -- 创建数据库 CREATE DATABASE day1026 DEFAULT CHARACT ...
随机推荐
- SAP 应用服务负载均衡的实现
共两步,一是服务器的设置,二是客户端登陆设置. 先在SAP中使用SMLG 进行服务器分组.实例名是SAP系统中定义过的,你没法删也没改.(可能是俺不会,会的教教).我们先建一个Gro ...
- Powershell 学习笔记【持续更新】
1. 判断一个对象是不是空可以用 $null来比较 2. 判断一个字符串是不是空的: [string]::IsNullOrEmpty(...) 3. 在powershell中把结果输出为一个CSV格式 ...
- ORA-03113解决方法
场景: 碰到ORA-00257归档日志写满的解决方法这篇日志当中描述的归档日志写满的情况. 此时我想将数据库切换到非归档模式,参考如何启动或关闭oracle的归档(ARCHIVELOG)模式进行操作, ...
- Oracle11g 统计信息——统计信息自动收集任务
参考文献: Oracle11g 统计信息(一)-----统计信息自动收集任务 背景: 在使用cacti监控oracle数据库IO的时候发现每天晚上10点钟的时候oracle数据库读写明显增加,如下图所 ...
- [Android]Activity跳转传递任意类型的数据、Activity为SingleTask时代替StartActivityForResult的解决方案
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4389674.html 需求:在ActivityA跳转到Acti ...
- Android Studio 更换国内源下载依赖库
我的博客:http://daycoding.com 小小程序猿 由于国内GFW的原因,经常导致android studio 莫名其妙的编译不了,多数原因是由于不能下载依赖库 Gradle支持三种不同的 ...
- eclipse出现感叹号的解决办法
当eclipse导入项目出现红叉但无提示错误时,去看:1>菜单路径----Window/Show View/Console2>菜单路径----Window/Show View/Error ...
- 【Andorid】短视频拍摄SDK——Vitamio Recorder 2.0 发布(支持ffmpeg命令行)
简介 VCamera SDK Android 版(短视频拍摄SDK)是炫一下(北京)科技有限公司推出的软件开发工具包,为Android开发者提供简单.快捷的接口,帮助开发者实现Android平台上的短 ...
- lambda浅尝
很久没写日志了,今天动动手记录下刚刚弄了一遍的lambda. 配置module下的build.gradle android { ... // 版本有要求 buildToolsVersion " ...
- Atitit.android js 的键盘按键检测Back键Home键和Menu键事件
Atitit.android js 的键盘按键检测Back键Home键和Menu键事件 1. onKeyDown @Override public boolean onKeyDown(int keyC ...