MySql学习(四)

查询数据(select)(重点)
sql 复制代码
语法
*	select * from 表名;                   --查询所有列的记录
*	select 字段1,字段2,字段3 from 表名;     ‐‐ 查询字段123的记录
*	DISTINCT ‐‐ 去除重复的数据   select distinct english from stu;
sql 复制代码
练习
create database day15; 
use day15;
create table stu( 
id int,
name varchar(30), 
math int,
english int, 
chinese int
);

insert into stu values (1,'美美',78,93,56); 
insert into stu values (2,'聪聪',18,13,16); 
insert into stu values (3,'小凤',98,96,89); 
insert into stu values (4,'如花',90,100,46); 
insert into stu values (5,'欧阳锋',74,93,56); 
insert into stu values (6,'吴彦祖',37,11,89); 
insert into stu values (7,'聪大',88,77,66); 
insert into stu values (8,'聪二',55,44,33);

查询语句中使用运算和别名

sql 复制代码
在所有学生分数上加10分特长分。
select name,(math+10) m,(english+10) e,(chinese+10) c from stu;
统计每个学生的总分。
select name,(math+english+chinese) from stu;
使用别名表示学生分数
select name,(math+english+chinese) 总 分 from stu;

使用 where 条件过滤

sql 复制代码
查询姓名为聪聪的学生成绩
select name,math,chinese from stu where name = '聪聪';
查询英语成绩大于90分的同学
select name,english from stu where english > 20;
查询总分大于200分的所有同学
select name,math+english+chinese from stu where (math+english+chinese) > 200;

where 子句中出现的运算

sql 复制代码
1.  >	<	<=	>=	=	<>                     大于、小于、大于(小于)等于、不等于
2.	in 表示范围。
*	select * from stu where math = 18;         
*	select * from stu where math in (78,18,99); 
3.	like 模糊查询 ‐‐ 符合模糊的条件
*	select * from stu where name like '张_';   姓张的名称(只有两个)的记录
*	select * from stu where name like '张%';   姓张的名称(张飞 张翼德 张是是是冠希)的记录。
*	select * from stu where name like '%张';   末尾是张
*	select * from stu where name like '%张%';  只要名称中包含张
4.isnull ifnull nullif判断某一个字段记录是否为空
5.and与 or或者 not非
sql 复制代码
查询英语分数在 80-90之间的同学。
select * from stu where english >= 10 and english < 19;
查询数学分数为89,90,91的同学。
select * from stu where math in (89,90,91);
查询所有姓小的学生成绩。
select * from stu where name like '小%';
查询数学分>80,语文分>80的同学。
select * from stu where math > 80 or chinese > 80;

order by 对查询的结果进行排序

sql 复制代码
1.	排序的语法
*	select * from 表名 where 条件 order by 列名 升序/降序;
2.	升序和降序
*	order by 列名 asc;(升序,默认值)
*	order by 列名 desc;(降序)
3.	order by 子句必须出现在select语句的末尾。
sql 复制代码
对数学成绩排序后输出。
select name,math from stu order by math desc;
对总分排序按从高到低的顺序输出
select name,(math+english+chinese) as total from stu order by total desc;
对姓聪的学生成绩按照英语进行降序排序,英语相同学员按照数学降序
select name,english,math from stu order by english desc,math desc;
对姓聪的学生成绩排序输出
select name,(math+english+chinese) as total from stu where name like '聪%' order by total
desc;
相关推荐
自由能燃气设备12 分钟前
燃气容积式热水器厂家选购指南:2026年商用热水设备采购避坑手册
大数据·数据库·数据仓库·人工智能
oradh28 分钟前
Oracle数据文件的大小和数量的限制总结
数据库·oracle·数据文件大小限制·数据文件数量限制
刘某的Cloud30 分钟前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
xiaohaiAIgeo31 分钟前
【2026年】ASHRAE 110与EN 14175通风柜测试标准对比:进口与国产品牌性能差距
java·前端·数据库·科普知识
SelectDB33 分钟前
Apache Doris 4.1 Spill to Disk:避免运行内存密集型查询发生 OOM
数据库
Hotchip_MEMS1 小时前
TWS耳机微米级较量:超薄LGA封装如何助力MEMS麦克风小型化?
人工智能·笔记·物联网·电脑
Ztt6666666661 小时前
金泉方壶四面端正,月白釉却把棱角放柔了
经验分享·笔记·其他·百度·微信公众平台
for_ever_love__1 小时前
python基础语法学习: 变量, 输入输出, 运算符
网络·python·学习
范什么特西1 小时前
redis题目面渣重点
数据库·redis·缓存
学习和思考1 小时前
非自动化专业如何自学PLC?我的6个月学习路线图
笔记·学习·自动化·学习方法