class07_查询数据

Class07 查询数据

查询部分列

如何查询表中的部分列

查询数据:关键字 SELECT

SELECT 字段列表 FROM 表名;

【查询出来的结果集无 互异性

例子:

SELECT stu_id FROM Student;

查询多个列: SELECT stu_id,stu_name,gender FROM Student;

查询所有列

如何查询表中的所有咧

SELECT * FROM 表名;

*:也可以是手动写出所有字段名,显示字段顺序与输入的顺序一致

 

排序返回结果

如何将查询出的结果排序

关键字:ORDER BY ...[ASC:升序排序 / DESC:降序排序]

SELECT 字段列表 FROM 表名 ORDER BY 字段1【ASC/DESC】,字段2【ASC/DESC】……;

【注意:】ORDER BY 字段名,默认是ASC方式

字段名也可以用SELECT 后面结果的顺序,直接用顺序数字代替:

例子:

    SELECT  stu_id,stu_name,age FROM Student ORDER BY stu_id ASC,age ASC;

等价于 ===:

SELECT  stu_id,stu_name,age FROM Student ORDER BY   1 ASC, 3 ASC;

【一般不太建议】

 

限制返回结果

如何返回部分查询结果

返回前几行:关键字TOP、LIMIT

两种写法

  • SELCET TOP 10 字段列表 FROM 表名;

  • SELECT 字段列表 FROM 表名 LIMIT 10;

一般在两种情况下会使用:

  • 想随便查看一下表中的数据;

  • 一般与ORDER BY关键字配合使用,返回按某些字段排序后的前几行

例子:

    SELECT  stu_id FROM Student ORDER BY stu_id ASC,age ASC LIMIT 3;

SELECT TOP 3 stu_id FROM Student ORDER BY stu_id ASC,age ASC;

[注意:]

MySQL不支持TOP写法,但是支持 LIMIT 用法

 

返回中间几行:关键字: LIMIT M OFFSET N【从第N行开始,返回M行记录】N:从0开始

 

两种写法:

SELECT 字段列表 FROM 表名 LIMIT M OFFSET N;
SELECT 字段列表 FROM 表名 LIMIT N,M;

 

注意:

SELECT 字段列表 FROM 表名 LIMIT 0,10; === SELECT 字段列表 FROM 表名 LIMIT 10;

 

返回后几行:关键字:TOP、LIMIT、ORDER BY

SQL语句中,没有返回后几行的专用写法,一般转换为按返回前几行的相反方式排序后,再返回前几行。使用这种方式变相的返回后几行。

例子:

SELECT * FROM(SELECT * FROM teacher ORDER BY teacher_id DESC LIMIT 5)  **as Button_5** ORDER BY teacher_id;

【注意:】这里的两个SELECT已经属于联合查询了,因此要给这个子查询取一个别名,这里取名:Button_5

 

posted @ 2020-04-27 04:38  云川望雨  阅读(161)  评论(1编辑  收藏  举报