2022/4/28 JAVA学习日记

本文详细介绍了如何在MySQL中进行数据查询,包括基本操作如计数、求和、平均值等,高级查询如过滤、排序、分组及复杂条件组合。通过实例演示了如何查找特定学生信息、统计总分并加特长分,适合SQL初学者和进阶者参考。
摘要由CSDN通过智能技术生成

一.Mysql表格查询练习


-- 创建表格
USE ee_2204;
CREATE TABLE student(
	id INT,   -- id编号
	NAME VARCHAR(20), -- 姓名
	chinese INT,  -- 语文
	english INT, -- 英语
	math INT -- 数学
);
-- 输入学生信息 
INSERT INTO student(id,NAME,chinese,english,math) VALUES(1,'行哥',89,78,90);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(2,'潘金莲',67,53,95);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(3,'凤姐',87,78,77);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(4,'旺财',88,98,92);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(5,'白小黑',82,84,67);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(6,'白小黄',55,85,45);
INSERT INTO student(id,NAME,chinese,english,math) VALUES(7,'范蹦蹦',75,65,30);
-- 查询所有学生信息
SELECT * FROM student ;
-- 查询所有学生姓名和英语成绩
SELECT
s.`id` '学生ID',
s.`name` '学生姓名',
s.english '英语成绩'
FROM
student  s;
-- 过滤表中重复数据
SELECT
DISTINCT *
FROM student;
-- 统计每个学生的总分
SELECT
id '学生ID',
NAME '学生姓名',
(chinese+english+math) '总分'
FROM
student ;
-- 在所有学生总分数上加10分特长分
SELECT
id '学生ID',
NAME '学生姓名',
(chinese+english+math+10) '总分'
FROM
student ;
-- 使用别名表示学生分数
SELECT
s.id '学生ID',
s.name '学生姓名',
s.chinese '语文成绩',
s.english '英语成绩',
s.math '数学成绩'
FROM
student s;
-- 查询姓名为行哥的学生成绩
SELECT
*
FROM
student
WHERE
NAME='行哥';
-- 查询英语成绩大于90分的同学
SELECT
*
FROM
student
WHERE
English>90;
-- 查询总分大于200分的所有同学
SELECT
*
FROM
student
WHERE
(chinese+english+math)>200;
-- 查询英语分数在 80-90之间的同学
SELECT
*
FROM
student
WHERE
English>80&&English<90;
-- 查询数学分数为89,90,91的同学
SELECT
*
FROM
student
WHERE
math=89||math=90||math=91;
-- 查询所有姓白的学生英语成绩
SELECT
id '学生ID',
NAME '学生姓名',
english '英语成绩'
FROM
student
WHERE
NAME LIKE '%白%';
-- 查询数学分>80并且语文分>80的同学
SELECT
*
FROM
student
WHERE
math>80&&chinese>80;
-- 查询英语>80或者总分>200的同学
SELECT
*
FROM
student
WHERE
english>80&&(chinese+english+math)>200;
-- 对数学成绩升序排序
SELECT
*
FROM
student
ORDER BY
math ;
-- 对总分降序排序,然后再按数学从高到低的顺序输出
SELECT
*
FROM
student
ORDER BY
(chinese+english+math) DESC,math DESC;
-- 对姓白的学生成绩排序输出
SELECT
*
FROM
student
WHERE
NAME LIKE '%白%'
ORDER BY
(chinese+english+math) DESC;
-- 查询数学成绩大于等于平均分的所有学生信息
SELECT AVG(math) FROM student;
SELECT
*
FROM
student
WHERE
math>(SELECT AVG(math) FROM student) ;
-- 查询出英语成绩最高分的学生信息
SELECT MAX(english) FROM student;
SELECT
*
FROM
student
WHERE
english=(SELECT MAX(english) FROM student);
-- 模糊查询出学生姓名中第二个字是金的学生信息
SELECT
*
FROM
student
WHERE
NAME LIKE '%_金%';
-- 查询出英语成绩平均分是多少
SELECT 
AVG(english) '英语平均分'
FROM 
student;
-- 查询出数学总分是多少
SELECT
SUM(math)'数学总分'
FROM
student;
-- 查询学生表中有多少条记录
SELECT
COUNT(id)'总记录数'
FROM
student;

SELECT * FROM student ;

二.Mysql查询语法

select  聚合函数(字段名称) from 表名 ;
count(字段名称):查询当前表的记录数
sum(字段名称):求和,针对某列字段值进行求和(整数)
avg(字段名称):平均分函数
max(字段名称) :最大值函数
min(字段名称) :最小值函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值