1.检索单列
select name from students;
2.检索多列
select name,age from students;
3.为列名取别名
select name as 姓名 from students;
多个列名之间用逗号隔开
select name as 姓名, age as 年龄 from students;
4.检索所有的列
select * from students
5.在一些查询结果中,有多个数据重复,有时候需要将重复数据去掉,使用关键字distinct进行去重
SELECT DISTINCT age FROM students;
6.limit限制结果条数,有时候只看前10条数据,或者看其中某几天数据,使用limit关键字可以对结果进行限制
select * from table_name limit 10;
limit放在查询之后
#将结果限制在10条 select id,name from students limit 10;
#limit 10,15表示从第11位(也就是第10位后面一位)开始查询, #15表示显示15条数据 select id,name from students limit 10,15;
注:如何查询倒数第11条-倒数第20条数据
SELECT id,name FROM students ORDER BY id DESC limit 10,10
排序数据
默认查询出来的数据是按照插入数据的先后顺序显示出来的。在实际生活中,往往需要对部分字段进行排序,在sql中用 order by可以指定字段进行排序。比如下面例子:order by默认的是asc,从小到大排序
SELECT name,workyear from students ORDER BY workyear; #根据workyear排序,默认从小到大进行排序
SELECT name,workyear from students ORDER BY age; #根据数据库中,age字段进行排序
如果order by后边跟两个字段,先根据第一个字段进行排序,在第一个字段数据一样情况下,再根据第2个字段进行排序
SELECT name,age workyear from students ORDER BY age,workyear;
查询表中年龄最大的前三个年龄是多少,去掉重复数据
SELECT DISTINCT age FROM students ORDER BY age DESC LIMIT 3
指定排序方向
DESC关键字可以对排序的数据进行倒序排序,具体使用方式是在结果后面添加desc关键字
SELECT id,name FROM students ORDER BY id DESC
练习
1.查询sql_score成绩最高同学的姓名,sql成绩;
SELECT name,sql_score from score ORDER BY sql_score DESC LIMIT 1
2.查询前10名Pyhton成绩和Sql成绩最高的同学,先按Python成绩进行排序,后按Sql成绩进行排序;
SELECT * from score ORDER BY python_score,sql_score DESC limit 10
3.查询python成绩第20名-第30名同学的sql成绩
SELECT name,sql_score from score ORDER BY python_score DESC LIMIT 19,11