查询数据select
1、查询全部列
select * from student;
2、查询指定列
select name,gender from student;
3、查询还可以是表达式
也就是说在查询过程中可以进行一些简单的运算 decimal(3,1) 三位有效数字,保留一位小数
create table exam_result(id int,name varchar(20),chinese decimal(3,1),math decimal(3,1),english decimal(3,1));
insert into exam_result(id,name,chinese,math,english) values(1,'唐三藏',67,98,56),(2,'孙悟空',87.5,78,77),(3,'猪悟能',88,98,90),(4,'曹孟德',82,84,67),(5,'刘玄德',55.5,85,45),(6,'孙权',70,73,78.5),(7,'宋公明',75,65,30);
select name,math+10 as newmath from exam_result;
因为查询出来的数据形成的是临时表 decimal(3,1)只对原表的数据有作用 而对于临时表是不起作用的
所以说在执行了math+10操作之后会出现108.0这样的数字(有效数字为4位)
查询每个同学的总成绩:
select name,chinese+math+english as sum_grade from exam_result;
注意:
表达式查询是对于列与列之间进行运算
4、查询时候指定别名 as
5、去重查询:distinct
对指定的列进行去重(将重复的行只保留一个)
select distinct math from exam_result;
注意:
distinct指定多个列的时候,要求这些列的值都相同,才会视为重复
6、按照查询结果排序 order by
select name,math from exam_result order by math asc;
select name,math from exam_result order by math desc;
asc为升序
desc为降序 descend
默认为升序排序
注意:还可以指定多个列来进行排序,多个列之间使用逗号来进行分隔 并且这个列越靠前,就越会优先考虑
select * from exam_result order by math desc,chinese desc;
7、条件查询
通过where子句+条件表达式完成条件查询
相当于针对数据库的表进行遍历 取出每一行数据,将数据代入条件中,判断条件是否符合,如果符合就保留,作为结果集合的一部分,否则就继续查找下一行。
注意:条件查询可以直接取两个列来进行比较
select * from exam_result where chinese > english;
条件查询还可以使用表达式来作为条件
select * from exam_result where chinese+math+english < 200;
select name,chinese+math+english as sum from exam_result where chinese+math+english < 200;
and和or的使用:
select * from exam_result where chinese > 80 and english > 80;
select * from exam_result where chinese > 80 or english > 80;
注意:
and和or具有优先级,优先执行and
范围查询:between and 前闭后闭区间 还有in()操作文章来源:https://www.toymoban.com/news/detail-409392.html
模糊查询:like文章来源地址https://www.toymoban.com/news/detail-409392.html
1、使用% 表示任意0个字符或N个字符
2、使用_ 表示任意1个字符
姓孙:
select * from exam_result where name like '孙%';
孙权:
select * from exam_result where name like '孙_';
孙悟空:
select * from exam_result where name like '孙__';
到了这里,关于mysql小课(4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!