MySQL必知必会:排序检索数据

您所在的位置:网站首页 sql数据文件后缀名 MySQL必知必会:排序检索数据

MySQL必知必会:排序检索数据

2023-03-19 10:10| 来源: 网络整理| 查看: 265

MySQL必知必会:排序检索数据 检索数据

写在前面,sql语句是不区分大小写的,SELECT和select是一样的,但是许多的SQL开发人员习惯对sql关键字大写,而对所有的列和表名使用小写。

select语句 检索单个列 select prod_name from products; xn_2022-08-24_09-11-27 检索多个列 SELECT prod_id , prod_name,prod_price FROM products; xn_2022-08-24_09-18-29 检索所有列 SELECT * FROM products; xn_2022-08-24_09-22-32 检索不同行

使用DISTINCT关键字使得返回的信息是不同的行信息。

xn_2022-08-24_09-25-29

但是你不能这样:

xn_2022-08-24_09-27-25

除非两个列相同,否则所有行信息都会被展示出来。

限制结果

SELECT语句返回所有匹配的行。为了返回第一行或者前几行,可使用LIMIT子句

SELECT prod_name FROM products LIMIT 5; xn_2022-08-24_09-40-56 SELECT prod_name FROM products LIMIT 5,5;

LIMIT 5 , 5代表的是从行5开始的5行。

行0:检索出来第一行为行0而不是行1。LIMIT 1,1检索出来的是第二行,而不是第一行。

行不够时,如LIMIT 10,5, 。如果只有13行时,mysql只能返回他能返回的行数了就。

MySQL 5的LIMIT语法。LIMIT 4 OFFSET 3 表示从行3开始取4行。

使用完全限定的表明

这里其实就是指,把列名通过表明限定,甚至把表明通过数据库名来完全限定。

SELECT products.prod_name FROM bizhibihui.products; xn_2022-08-24_09-53-11 排序检索数据 (ORDER BY) 排序数据

子句:之前写到的FROM就算是SELECT的一个子句。为了明确排序顺序所以我们可以使用 ORDER BY子句。

SELECT prod_name FROM products ORDER BY prod_name; xn_2022-08-24_09-59-37

这样上面的搜索结果就实现了字母排序。

上面ORDER BY 子句使用的列是检索列,其实不使用检索的列进行排序也是完全合法的。

按多个列排序

我们在现实生活中也会遇到这样的情况:比如你说按姓名排序,当姓一样的时候,你就需要按名字来排序

SELECT prod_id , prod_price ,prod_name FROM products ORDER BY prod_price,prod_name; xn_2022-08-24_10-09-49

上面的结果就可以观察到,当价格一样的时候,就会按照产品名称排序。

指定排序方向 (DESC 降序)

数据排序不仅限于升序排序(从A到Z),这只是默认的排序顺序。我们还可以使用降序排序关键字DESC

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC; xn_2022-08-24_10-17-15

上面的图片就实现了价格的降序排序。

打算对多个列排序怎么办呢?

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name; xn_2022-08-24_10-20-34

上面就实现了先对价格降序,然后价格相同的按名字升序。

DESC关键词只应用到直接位于其前面的列名。所以如果你想对多个列进行降序排序,必须每个列指定DESC关键字。

ASC是升序关键词,但其实是没有什么用处的,因为默认就是升序呀。

例子:找出最昂贵的物品

SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1; xn_2022-08-24_10-55-03

注意!此信息未认证,请谨慎判断信息的真实性!

提示


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3