【写MySQL语句中遇到的不熟练处记录】
作者:互联网
按从 Z 到 A 的顺序显示结果
字符串默认就是按字典顺序
Z 到 A 的排序:order by cust_name desc
先按XX排序,再按XX排序
先按顾客 ID 对结果进行排序,再按订单日期倒序排列。直接在order by中写多个字段即可。
select cust_id,order_num from Orders order by cust_id, order_date desc;
order by 的使用在where 之后
包含 toy 一词
where prod_desc like '%toy%';
不包含 toy 一词
where prod_desc not like '%toy%';
包含 toy 和 carrots
where prod_desc like '%toy%' and prod_desc like '%carrots%' ;
返回大写字母 upper()
字母大写:upper(字符串)
取前n个字符并进行拼接
字符串的截取:substring(字符串,起始位置(从1开始),截取字符数)
字符串的拼接:concat(字符串1,字符串2,字符串3,...)
concat(substring(cust_name,1,2),substring(cust_city,1,3))
返回日期的一部分---date_format(日期,'%Y%m%d)
select order_num,order_date
from Orders
where date_format(order_date,'%Y-%m')='2020-01'
order by order_date
或者
where month(order_date) = 1 and year(order_date) = 2020
典型函数
最大值---max()
最小值---min()
平均值---avg()
总值 ---sum()
总数 ---count()
group by 和 having
where---过滤过滤指定的行
having--过滤分组,与group by连用
where条件语句后面不能加聚合函数(分组函数)
having 不能单独使用,必须和group by 联合使用
select order_num
from OrderItems
group by order_num
having sum(quantity)>=100
order by order_num
join 和 union
join---连接表,对列操作
union--连接表,对行操作。
union--将两个表做行拼接,同时自动删除重复的行。
union all---将两个表做行拼接,保留重复的行。
只用一条select语句,那就用or不用union了
标签:语句,熟练,---,字符串,MySQL,date,where,order,desc 来源: https://www.cnblogs.com/LittleOctopus/p/16125232.html