0
点赞
收藏
分享

微信扫一扫

MySQL必知必会(3)

扬帆远航_df7c 2022-04-21 阅读 74
数据库

排序检索数据

关键字语句说明注意事项
order byselect uuid from ce_activity order by uuid对uuid列的数据进行排序(升序)在字典排序顺序中,A与a相同,这是MySQL默认行为
select prod_id,prod_price,prod_name from products order by pro_price,prod_name先按照prod_price排序,再按照prod_name排序如果产品价格都是唯一的,那么将不会按照产品名进行排序
DESCselect prod_id,prod_price,prod_name from products order by prod_price DESC,pro_name;先对prod_price以降序进行排序,再对产品名按照默认的升序进行排序如果想在多个列上进行降序排序,必须对每个列指定DESC关键字

order by子句的位置:
order by在from子句之后。如果使用limit,它必须位于order by之后。
子句位置关系:
from > order by >limit

过滤数据

关键字语句说明注意事项
whereselect prod_name,prod_price from products where prod_price =2.5;这条语句从products表中检索两个列,但不返回所有行,只返回prod_price值为2.5的行如果值为字符串的时候,需要用’‘来和数据库中的值进行比较,例如’cold’
ANDselect prod_id,prod_price,prod_namefrom products where vend_id=1003 AND pro_price<=10;这条语句检索由供应商1003制造且价格小于等于10美元的所有产品的名称和价格AND用在WHERE子句中的关键字,用来指示检索满足所有给定条件的行
ORselect prod_id,prod_price,prod_name from products where vend_id=1003 OR pro_price<=10;这条语句检索由供应商1003制造或者价格小于等于10美元的所有产品的名称和价格OR用在WHERE子句中的关键字,用来表示检索匹配任一给定条件的行
INselect prod_price,prod_name from products WHERE vend_id IN (100,1003) ORDER BY prod_name此SELECT语句检索供应商1002和1003制造的所有产品。IN操作符后跟由逗号分隔的合法值清单,整个清单必须括在圆括号中IN操作符完成与OR相同的功能;IN操作符一般比OR操作符清单执行更快;在使用长的合法选项清单时,IN操作符的语句更清楚且更直观;在使用IN时,计算的次序更容易管理
NOTselect prod_name,prod_price from products WHERE vend_id NOT IN (1002,1003) ORDER BY prod_name;这里的NOT否定跟在它之后的条件,因此,MySQL不是匹配1002和1003的vend_id,而是匹配1002和1003之外供应商的vend_idMySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件取反由很大的差别

notes: AND的优先级比OR高,所以最好利用()来选定他们之间的语句表达。

WHERE子句操作符

操作符说明
=等于
<>不等于
!=不等于
<小于
<=小于等于
>大于
>=大于等于
BETWEEN AND在指定的两个值之间
举报

相关推荐

0 条评论