作者:他丶是我唯一的执着_490 | 来源:互联网 | 2023-08-10 17:56
在上一篇《用命令行进入MySQL&生成样例数据库crashcourse》的基础上,练习SELECT和ORDER操作。上篇地址:https:blog.csdn.netm0_38061
在上一篇《用命令行进入MySQL&生成样例数据库crashcourse》的基础上,练习SELECT和ORDER操作。
上篇地址:https://blog.csdn.net/m0_38061639/article/details/82822010
总结- 选择 SELECT FORM LIMIT
- 排序 ORDER BY DESC
以下操作都针对某个表选出列来进行操作,数据库(SHOW)→表(SHOW)→列(SELECT)
1. 选择单个列SELECT column1 FROM table1;
2. 选择多个列SELECT column1, column2,… FROM table1;
3. 全选列 SELECT * FROM table1; (通配符*)
4. 选择某列中的某些行:SELECT DISTINCT column1 FROM table1; (重复行不显示,只返回不同值)
5. 注意,如果DISTINCT column1, column2 FROM table1; 也就是说同时选两列,不会只返回某一列非重复结果,而是针对两列的所有行。如果有一列没有重复值,加不加DISTINCT没有影响。也就是说,只有在选择的两列中,相同行之间,有重复行,才会只返回重复行中unique的一行。
如下表,相同的两行只返回一行:
vend_id | Prod_price |
1001 | 5.99 |
1001 | 5.99 |
6. 选择某列中的行数量:SELECT column1 FROM table1 LIMIT 5,3; (从第6行开始返回3行结果),只输入一个数字如limit 5,表示取5行,不限制从第几行开始取结果。
7. LIMIT 5, 3 = LIMIT 3 OFFSET 5 (都表示从第6行开始取3行)
8. 使用完全限定的表名和列字:
SELECT table1.column1 FROM table1;
SELECT table1.column1 FROM database1.table1;
9. 按某列排序:
SELECT column1 FROM table1
ORDER BY column1;
10. 按某几列排序:
SELECT column1, column2, column3 FROM table1
ORDER BY column1, column2;
(排序的优先级先按column1来,如果column1中有相同行,再按column2来排序)
11. 按降序排序:
SELECT column1, column2, column3 FROM table1
ORDER BY column1 DESC,column3
(默认升序ASC,要求降序时才需要标DESC,优先对column1降序排序,剩下的再以column3为标准升序排序。如果相对多列降序排序,要对每列都进行DESC排序)
12. 练习用ORDER BY 和LIMIT找到一列中最高或最低的值:
SELECT column1 FROM table1
ORDER BY column1 DESC
LIMIT 1; (最贵的物品)
今天的学习任务就结束啦~