mysql之数据查询SELECT * FROM students; SELECT * FROM classes;

Posted 秋叶落日

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql之数据查询SELECT * FROM students; SELECT * FROM classes;相关的知识,希望对你有一定的参考价值。

基础查询

SELECT * FROM students;
SELECT * FROM classes;

 

 

 

 

条件查询

select * from students where score >= 80;

 

 or  或关系       and  与关系       not   非关系

要组合三个或者更多的条件,就需要用小括号()表示如何进行条件运算。

select * from students where score >= 80 and score <=90;

 

 投影查询(即查询表中的某几列)

SELECT id,name,gender,score FROM students;

 

 

 

排序:查询时按表中的某一项作升序或降序排列

按class_id升序

SELECT * FROM students ORDER BY class_id;

 

 

 

 按class_id降序

SELECT * FROM students ORDER BY class_id desc ;

 

 分页查询

SELECT * FROM students limit 3 offset 3;

 

 

 limit 3   每次获取的数据最多为3条

offset 3  获取从第4条开始的数据包括第4条

聚合查询

分组

GROUP BY      

统计人数

SELECT COUNT(*) \'总计\' FROM students

 

 

COUNT(*) \'总计\'  :总计为COUT(*)的别名

求和

 

SELECT  SUM(score) \'二班总分\' FROM students where class_id = 2;

 

 

 

 

 

 平均值

SELECT  CEILING(avg(score)) \'二班平均分\' FROM students where class_id = 2;

 

 

CEILING  :无论小数位是几都向上进一位

FLOOR    :无论小数位是几都向下退一位

最大值 

SELECT  max(score) \'第一名\' FROM students ;

 

 最小值

SELECT min(score) \'最后一名\' FROM students ;

多表查询

select * from students , classes;

 

 

连接查询

内连接

SELECT * FROM students 
INNER JOIN classes 
ON students .class_id = classes .id;

那么INNER JOIN是选出两张表都存在的记录:

 

 

 

 左外连接

SELECT students.id,class_id,name FROM students 
LEFT OUTER JOIN classes 
ON students .class_id = classes .id;

LEFT OUTER JOIN是选出左表存在的记录:

 

 

右外连接

SELECT students.id,class_id,name FROM students 
RIGHT OUTER JOIN classes 
ON students .class_id = classes .id;

 

RIGHT OUTER JOIN是选出右表存在的记录:

 

 FULL OUTER JOIN则是选出左右表都存在的记录:

 

以上是关于mysql之数据查询SELECT * FROM students; SELECT * FROM classes;的主要内容,如果未能解决你的问题,请参考以下文章

05 MySQL之查询插入更新与删除

[学习记录]MySQL之初级查询语句(select,where)

MySQL之查询指定时间的数据

MySQL数据库应用DQL之select知识

MySQL查询之基本查询

MySQL数据优化