MYSQL必知必会四-五章--检索、排序
书中部分代码展示:
##第四第五章SELECT prod_name FROM products;/*从products表中检索一个叫prod_name的列*/SELECT prod_id, prod_name, pro_price FROM products;/*从products表中检索多个列*/SELECT * FROM products;/*利用通配符(*)检索products表中所有列*/SELECT DISTINCT vend_id FROM products;/*利用关键字DISTINCT返回products表中不同的vend_id行*/SELECT prod_name FROM products LIMIT 5;/*LIMIT 5 指示返回prod_name 的前5行*/SELECT prod_name FROM products LIMIT 5, 5;/*LIMIT 5, 5 返回从第6行开始的5行*/#注:mysql采用以0为第一位的索引方式SELECT prod_name FROM products LIMIT 4 OFFSET 5;/*表示从第6行开始取4行, 就像LIMIT 5, 4 一样*/SELECT products.prod_name FROM crashcourse.products;/*完全限定列名和表名products表的prod_name字段crashcourse数据库的products表*/#在后面的章节里我们会知道,为啥要用完全限定SELECT prod_name FROM productsORDER BY prod_name;/*对prod_name 以字母顺序排序数据(默认为升序ASC)*/#ORDER BY 可以用非检索的列排序数据SELECT prod_id, prod_price, prod_nameFROM productsORDER BY prod_price, prod_name;/*先对prod_price排序,仅在prod_price具有多个相同的值时才按照 prod_name排序*/SELECT prod_id, prod_price, prod_nameFROM productsORDER BY prod_price DESC;/*按照prod_price以降序排序(DESC关键字)*/SELECT prod_id, prod_price, prod_nameFROM productsORDER BY prod_price DESC, prod_name;/*先对prod_price以降序排序再对 prod_name以升序排列*/#DESC关键字只应用到直接位于其前面的列#如果想在多个列上进行降序排列,必须对每个列指定DESC#MYSQL默认在字典排序顺序中,A与a相同SELECT prod_priceFROM productsORDER BY prod_price DESCLIMIT 1;/*使用ORDER BY 和 LIMIT 组合能找出prod_price列中,最昂贵物品的值*/#在给出ORDER BY 子句时,应保证它位于FROM 子句之后#如果使用LIMIT,它必须位于ORDER BY子句之后
案例分析:
检索infor表中所有列。
利用关键字DISTINCT检索infor表中唯一的age行
检索infor 表中前3行
检索infor表中,从第4行(行3)开始的2行
利用LIMIT 2 OFFSET 3 得到与LIMIT 3, 2相同的结果
检索infor表的user_name,和age字段,按照age以默认的升序排序被检索字段。
检索infor表的user_name,和age字段,并先按照age以降序,再按照user_name以升序排序被检索字段。
使用ORDER BY 和 LIMIT 组合检索出年龄最大的用户的user_name和age字段。
其他内容:
mysql中去重 distinct 用法:
/shiluoliming/p/6604407.html