当前位置:网站首页>数据库 单表查询
数据库 单表查询
2022-08-05 05:12:00 【刚学习菜鸡一个】
总结 :
条件查询 : SELECT 字段列表 FROM 表名 WHERE 条件列表;

基础查询
-- 删除stu表
DROP TABLE IF EXISTS stu;
-- 创建stu表`ssm_db``stu`
CREATE TABLE stu (
id INT, -- 编号
NAME VARCHAR(20), -- 姓名
age INT, -- 年龄
sex VARCHAR(5), -- 性别
address VARCHAR(100), -- 地址
math DOUBLE(5,2), -- 数学成绩
english DOUBLE(5,2), -- 英语成绩
hire_date DATE -- 入学时间
);
-- 添加数据
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date)
VALUES
(1,'马运',55,'男','杭州',66,78,'1995-09-01'),
(2,'马花疼',45,'女','深圳',98,87,'1998-09-01'),
(3,'马斯克',55,'男','香港',56,77,'1999-09-02'),
(4,'柳白',20,'女','湖南',76,65,'1997-09-05'),
(5,'柳青',20,'男','湖南',86,NULL,'1998-09-01'),
(6,'刘德花',57,'男','香港',99,99,'1998-09-01'),
(7,'张学右',22,'女','香港',99,99,'1998-09-01'),
(8,'德玛西亚',18,'男','南京',56,65,'1994-09-02');
SELECT * FROM stu;-- 基础查询 ------------------------
-- 查询 name age 两列
SELECT NAME,age FROM stu;
-- 查询地址信息
SELECT address FROM stu;
-- 去除重复记录
SELECT DISTINCT address FROM stu;
-- 起别名AS别名可以省略 , 查询姓名,数学成绩 , 英语成绩
SELECT NAME 姓名, math AS 数学成绩, english AS 英语成绩 FROM stu;条件查询

-- 条件查询 --------------------------------------------------------------------
-- 1.查询年龄大于20岁的学员信息
SELECT * FROM stu WHERE age > 20;
-- 2. 查询年龄大于等于20岁的学员信息
SELECT * FROM stu WHERE age >= 20;
-- 3.查询年龄大于等于20岁 并且 年龄 小于等于 30岁 的学员信息
SELECT * FROM stu WHERE age >= 20 AND age <=30;
SELECT * FROM stu WHERE age >= 20 && age <= 30;
-- 4.查询入学日期在'1998-09-01' 到 '1999-09-01' 之间的学员信息
SELECT * FROM stu WHERE hire_date BETWEEN '1998-09-01' AND '1999-09-01';
-- 5.查询年龄等于18岁的学员信息
SELECT * FROM stu WHERE age = 18;
-- 6.查询年龄不等于18岁的学员信息
SELECT * FROM stu WHERE age != 18;
SELECT * FROM stu WHERE age <> 18;
-- 7.查询年龄等于18岁 或者 年龄等于20岁 或者 年龄等于22岁的学员信息
SELECT * FROM stu WHERE age = 18 OR age = 20 OR age = 22;
SELECT * FROM stu WHERE age IN(18,20,22);
-- 8. 查询英语成绩为 null的学员信息
SELECT * FROM stu WHERE english IS NULL;
-- 模糊查询 like =============================================================
/*
通配符
(1) _:代表单个任意字符
(2) %:代表任意个数字符
*/
-- 1. 查询姓'马'的学员信息
SELECT * FROM stu WHERE NAME LIKE '马%';
-- 2. 查询第二个字是 '花' 的学员信息
SELECT * FROM stu WHERE NAME LIKE '_花%';
-- 3. 查询名字中包含 '德' 的学员信息
SELECT * FROM stu WHERE NAME LIKE '%德%';排序查询

-- 排序查询 order by =================================
/*
语法 : SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;
排序方式:
ASC: 升序排列(默认值)
DESC:降序排列
*/
-- 1. 查询学生信息,按照年龄升序排列
SELECT * FROM stu ORDER BY age ASC;
-- 2. 查询学生信息,按照数学成绩降序排列
SELECT * FROM stu ORDER BY math DESC;
-- 3. 查询学生信息,按照数学成绩降序排列,如果数学成绩一样,再按照英语成绩升序排列
SELECT * FROM stu ORDER BY math DESC ,english ASC; 分组查询

-- 分组查询,聚合函数 ===========================
/*
语法 : SELECT 聚合函数名(列名) FROM 表;
count:统计数量
max: 求最大值
min: 求最小值
sum: 求和
avg: 求平均值
*/
-- 1.统计班级一共有多少个学生
SELECT COUNT(id) FROM stu;
SELECT COUNT(english) FROM stu; #有null值的,不会被统计
SELECT COUNT(*) FROM stu; #最适合的统计, 一行不可能所有数据都是null
-- 2.查询数学成绩的最高分
SELECT MAX(math) FROM stu;
-- 3.查询数学成绩的最低分
SELECT MIN(math) FROM stu;
-- 4.查询数学成绩的总分
SELECT SUM(math) FROM stu;
-- 5.查询数学成绩的平均分
SELECT AVG(math) FROM stu;
-- 6.查询英语成绩的最低分
SELECT MIN(english) FROM stu;
/*
分组函数
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
*/
-- 1.查询男同学和女同学各自的数学平均分
SELECT sex ,AVG(math) FROM stu GROUP BY sex;
-- 2.查询男同学和女同学各自的数学平均分,以及各自人数
SELECT sex ,AVG(math),COUNT(*) FROM stu GROUP BY sex;
-- 3.查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组
SELECT sex ,AVG(math),COUNT(*) FROM stu WHERE math >70 GROUP BY sex;
-- 4.查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2个的
SELECT sex ,AVG(math),COUNT(*) FROM stu WHERE math > 70 GROUP BY sex HAVING COUNT(*) > 2;分页查询

/*
分页查询
语法 : SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查询条目数;
起始索引 : 从0开始
起始索引 = (当前页码 - 1) * 每页显示的条数
*/
-- 1.从0开始查询, 查询3条数据
SELECT * FROM stu LIMIT 0 , 3;
-- 2.每页显示3条数据,查询第1页数据
SELECT * FROM stu LIMIT 0 , 3;
-- 3.每页显示3条数据,查询第2页数据
SELECT * FROM stu LIMIT 3 , 3;
-- 4.每页显示3条数据,查询第3页数据
SELECT * FROM stu LIMIT 6 ,3;边栏推荐
猜你喜欢

Flutter 父子组件如何都能收到点击事件

Flutter real machine running and simulator running

类的底层机制

JeeSite New Report

雷克萨斯lm的安全性到底体现在哪里?一起来看看吧

Flex layout frog game clearance strategy

"Recursion" recursion concept and typical examples

The mall background management system based on Web design and implementation

【Transfer】What is etcd

What is ASEMI photovoltaic diode, the role of photovoltaic diode
随机推荐
Mini Program_Dynamic setting of tabBar theme skin
Shell(4) Conditional Control Statement
Shell(4)条件控制语句
Judgment statement _switch and case
1068找到更多的硬币
Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
1.3 mysql batch insert data
Requests the library deployment and common function
jvm 三 之堆与栈
RL强化学习总结(一)
【cesium】加载并定位 3D Tileset
jvm three heap and stack
What is ASEMI photovoltaic diode, the role of photovoltaic diode
University Physics---Particle Kinematics
MySQL中控制导出文件后变为了\N有什么解决方案吗?
Use IDEA to connect to TDengine server
number_gets the specified number of decimals
What field type of MySQL database table has the largest storage length?
server disk array
类的底层机制