数据检索 select
数据检索
-- distinct 指示mysql只返回不同的值
select distinct vend_id from products;
-- distinct 会作用于所有字段
select distinct vend_di, prod_price from products;
-- 指定返回不多余5行
select prod_name from products limit 5;
-- 返回从 ‘行5’ 开始的5行;第一个参数指定开始位置,第二个参数为限制行数
select prod_name from products limit 5, 5
-- 另外一种写法,从 ‘行3’ 开始的4行
select prod_name from products limit 4 offset 3
/*
mysql的第一行为 ‘0行’
*/
排序检索数据 order by
子句(clause)
-- 按照 prod_name 列排序
select prod_name from products order by prod_name;
/*
可以以非检索列排序
*/
select prod_name from products order by prod_price;
-- 首先按价格排序,然后按名称排序;注意:仅当多个行具有相同的prod_price值时,才对prod_name进行排序
select prod_id, prod_price, prod_name from products order by prod_price, prod_name;
-- 使用 desc 关键字进行降序排序;z - a
-- 按照价格进行降序排序
select prod_id, prod_price, prod_name from products order by prod_price desc;
-- 对多个列排序,desc 仅应用到直接位于其前面的列名
-- 对 prod_price 进行降序排序,对 prod_name 进行升序排序
select prod_id, prod_price, prod_name from products order by prod_price desc, prod_name;
/*
如果想对多个列都进行降序排序,必须对每个列指定 desc 关键字
*/
/*
取决于数据库设置
默认 A 与 a 相同
*/
-- 找出价格最高的物品
select prod_price from products order by prod_price desc limit 1;
/*
order by 子句应该确保位于 from 子句之后,
如果使用 limit 子句,limit 必须位于 order by 子句之后
*/
过滤数据