MySQL中的DQL:数据查询语言,针对单表的查询
查询表中所有学生的信息。
select * from STUDENT;
查询表中所有学生的姓名和对应的英语成绩。
select NAME,ENGLISH from STUDENT;
显示英语成绩,过滤表中重复数据
select distinct ENGLISH from STUDENT;
在所有学生数学分数上加10分特长分。
select NAME,MATH+10 from STUDENT;
统计每个学生的总分。
select NAME,MATH+CHINESE+ENGLISH fromSTUDENT;
使用别名表示学生分数。
select NAME as 姓名,MATH+CHINESE+ENGLISH 总分 from STUDENT;
查询姓名为wu的学生成绩
select * from STUDENT where NAME='陈冠希';
查询英语成绩大于90分的同学
select * from STUDENT where ENGLISH>90;
查询总分大于200分的所有同学
select * from STUDENT where (MATH+CHINESE+ENGLISH)>200;
查询英语分数在 80-90之间的同学。
select NAME,ENGLISH from STUDENT whereENGLISH between 80 and 90;
查询数学分数为89,90,91的同学。
select NAME,MATH from STUDENT where MATH in(89,90,91);
查询所有姓李的学生成绩。
select NAME,MATH from STUDENT where NAMElike '李%';
查询数学分>80,语文分>80的同学。
select NAME,MATH,CHINESE from STUDENT whereMATH>80 and CHINESE>80;
注意:not and or 优先级依次降低。一元运算符比二元的要高。
对数学成绩排序后输出。
select NAME,MATH from STUDENT order byMATH;
对总分排序后输出,然后再按从高到低的顺序输出
select NAME,MATH+CHINESE+ENGLISH 总分 from STUDENT order by 总分 desc;
对姓李的学生语文成绩排序输出
select NAME,CHINESE from STUDENT where NAMElike '李%' order byCHINESE;
注意:订单,order。创建表时要注意不要和关键字冲突。
解决办法:
1、把用户定义的内容用反引号引起来。`(Esc按键的下方)
2、数据库命名习惯:表名ORDERS (建议)