1、创建成绩表,字段包括:学生姓名,语文成绩,数学成绩,英语成绩

向表中插入多条数据;
查询:

  (1) 查询所有学生的数学成绩和总成绩

  (2) 查询所有学生的语文和数学成绩和,按从高到低排序

  (3) 查询班级总成绩最高的学生姓名

  (4) 查询班里所有姓李学生的总成绩最高的姓名

创建表

CREATE TABLE grade (
name VARCHAR(20) NOT NULL ,
chinese_score FLOAT NOT NULL ,
math_score FLOAT NOT NULL ,
english_score FLOAT NOT NULL
) CHARACTER SET utf8;

  

mysql> DESC grade;
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| name | varchar(20) | NO | | NULL | |
| chinese_score | float | NO | | NULL | |
| math_score | float | NO | | NULL | |
| english_score | float | NO | | NULL | |
+---------------+-------------+------+-----+---------+-------+

  

插入记录

INSERT grade VALUES('李白',88,99,77),('杜甫',77,88,99),('白居易',99,88,77);

  

1、

mysql> SELECT SUM(math_score) FROM grade;
+-----------------+
| SUM(math_score) |
+-----------------+
| 275 |
+-----------------+
1 row in set (0.00 sec)

  

2、

mysql> SELECT name,chinese_score+math_score AS '语文+数学' FROM grade ORDER BY chinese_score+grade.math_score DESC ;
+-----------+---------------+
| name | 语文+数学 |
+-----------+---------------+
| 李白 | 187 |
| 白居易 | 187 |
| 杜甫 | 165 |
+-----------+---------------+
3 rows in set (0.00 sec)

  

3、

mysql> SELECT name AS '姓名',chinese+math+english AS '总分' FROM grade WHERE(chinese+math+english=(SELECT MAX(chinese+math+english)FROM grade));
+--------+--------+
| 姓名 | 总分 |
+--------+--------+
| 李白 | 264 |
+--------+--------+
1 row in set (0.00 sec)

4、

mysql> SELECT name AS '姓名',chinese+math+english AS '总分' FROM grade WHERE(chinese+math+english=(SELECT MAX(chinese+math+english)FROM grade)and name like '李%');
+--------+--------+
| 姓名 | 总分 |
+--------+--------+
| 李白 | 264 |
+--------+--------+
1 row in set (0.00 sec)

另一种方法,高分排序,取第一个,order by ,limit 1

2、创建一张某超市的购物表,字段包括:商品名,购物价格,商品生茶日期,商品分类;

向该表中插入多条数据;

查询:(1)每一类商品花的总价格

(2)统计每类商品各有多少件

(3)统计水果花了多少钱(两种方式实现)

(4)统计购买的2017-01-12日生产的商品中价格最贵的商品(插入的数据中包括2017-01-12生产的商品)

(5)统一购买商品的总价格

CREATE TABLE order_menu(
id INT PRIMARY KEY auto_increment,
product_name VARCHAR (20),
price FLOAT(6,2),
born_date DATE,
class VARCHAR (20)
) CHARACTER SET utf8; INSERT order_menu (product_name,price,born_date,class) VALUES
("苹果",20,20170112,"水果"),
("香蕉",80,20170602,"水果"),
("水壶",120,20170112,"电器"),
("被罩",70,20170612,"床上用品"),
("音响",420,20170112,"电器"),
("床单",55,20170612,"床上用品"),
("草莓",34,20170612,"水果"); mysql> DESC order_menu;
+--------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| product_name | varchar(20) | YES | | NULL | |
| price | float(6,2) | YES | | NULL | |
| born_date | date | YES | | NULL | |
| class | varchar(20) | YES | | NULL | |
+--------------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

  

1、

mysql> SELECT class,sum(price) FROM order_menu GROUP BY class;
+--------------+------------+
| class | sum(price) |
+--------------+------------+
| 床上用品 | 125.00 |
| 水果 | 134.00 |
| 电器 | 540.00 |
+--------------+------------+
3 rows in set (0.00 sec)

  

2、

mysql> SELECT class,count(product_name) FROM order_menu GROUP BY class;
+--------------+---------------------+
| class | count(product_name) |
+--------------+---------------------+
| 床上用品 | 2 |
| 水果 | 3 |
| 电器 | 2 |
+--------------+---------------------+
3 rows in set (0.00 sec)

  

3、

mysql> SELECT sum(price) FROM order_menu WHERE class='水果';
+------------+
| sum(price) |
+------------+
| 134.00 |
+------------+
1 row in set (0.00 sec)

3、

mysql> SELECT class,sum(price) FROM order_menu GROUP BY class HAVING class='水果';
+--------+------------+
| class | sum(price) |
+--------+------------+
| 水果 | 134.00 |
+--------+------------+
1 row in set (0.00 sec)

  

4、

mysql> SELECT product_name,price FROM order_menu WHERE born_date=20170112 ORDER BY price DESC limit 1;
+--------------+--------+
| product_name | price |
+--------------+--------+
| 音响 | 420.00 |
+--------------+--------+
1 row in set (0.00 sec)

  

5、

mysql> SELECT sum(price) FROM order_menu;
+------------+
| sum(price) |
+------------+
| 799.00 |
+------------+
1 row in set (0.00 sec)

  

MySQL 查询语句练习1的更多相关文章

  1. MySQL查询语句执行过程及性能优化(JOIN/ORDER BY)-图

    http://blog.csdn.net/iefreer/article/details/12622097 MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY) 标签 ...

  2. mysql查询语句,通过limit来限制查询的行数。

    mysql查询语句,通过limit来限制查询的行数. 例如: select name from usertb where age > 20 limit 0, 1; //限制从第一条开始,显示1条 ...

  3. MYSQL查询语句大全集锦

    MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> C ...

  4. MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介

    网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上. 我们知道MySQL的性能优化方法,一般有建立索引.规避复杂联合查询.设置冗余字段.建立中间表.查询 ...

  5. MySQL查询语句执行过程及性能优化-查询过程及优化方法(JOIN/ORDER BY)

    在上一篇文章MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介中介绍了EXPLAIN语句,并举了一个慢查询例子:

  6. mysql查询语句集

    1. mysql 查询出某字段的值不为空的语句 1.不为空 select * from table where id <> ""; select * from tabl ...

  7. [转]MySQL查询语句执行过程详解

    Mysql查询语句执行原理 数据库查询语句如何执行?语法分析:首先进行语法分析,对使用sql表示的查询进行语法分析,生成查询语法分析树.语义检查:检查sql中所涉及的对象以及是否在数据库中存在,用户是 ...

  8. Mysql查询语句中字符型字段不区分大小写解决方法

    项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf ...

  9. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

  10. Mysql查询语句执行过程

    Mysql查询语句执行过程   Mysql分为server层和存储引擎两部分,或许可以再加一层连接层   连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注 ...

随机推荐

  1. 名字管理系统demo

    # 名字管理系统demo # 打印功能提示 print('欢迎使用名字管理系统v6.6.6') print('1:添加一个名字') print('2:删除一个名字') print('3:修改一个名字' ...

  2. Linux编译安装opencv

    参考https://blog.csdn.net/huang826336127/article/details/78760885 一.下载opencv源码包 下载地址:https://opencv.or ...

  3. Leetcode 675.为高尔夫比赛砍树

    为高尔夫比赛砍树 你被请来给一个要举办高尔夫比赛的树林砍树. 树林由一个非负的二维数组表示, 在这个数组中: 0 表示障碍,无法触碰到. 1 表示可以行走的地面. 比1大的数 表示一颗允许走过的树的高 ...

  4. day02 智能合约

    上午 1>部署智能合约网络 语法 require 2>利用第三方的节点 同步到以太坊 3>智能合约部署的步骤: 1.查看区块 2.发布合约 deploy后台经历的事情:就是部署合约的 ...

  5. JavaScript - Standard built-in objects

    标准对象分类 Value Properties 以下全局属性返回一个简单的值:它们没有属性或者方法: Infinity NaN undefined null literal Function Prop ...

  6. B - 整数区间

    B - 整数区间 Time Limit: 1000/1000MS (C++/Others) Memory Limit: 65536/65536KB (C++/Others) Problem Descr ...

  7. linux之shell脚本学习篇一

    此文包含脚本服务请求,字符串截取,文件读写内容,打印内容换行. #!/bin/bashretMsg="";while read LINEdo        echo "t ...

  8. ASP.NET MVC如何使用输出缓存

    通过这篇文章你将学习到在MVC中如何使用输出缓存,业务逻辑我就不多介绍了,主要是Outputcache的基本使用.至于数据缓存还是等我的下一篇文章吧,一步一步来不急的.   输出缓存的使用方法是在Co ...

  9. (转)mongdb性能优化收集

    一.数据库最大连接数问题当你在后台日志中,发现大量“connection refused because too many open connections: 819”信息时,一般跟你没有设置合适的最 ...

  10. 一个python游戏源码

    #finalPyPong.py import pygame,sys class MyBallClass(pygame.sprite.Sprite): def __init__(self,image_f ...