MySQL部分题目-牛客

本文介绍了MySQL中涉及顾客登录名、订单日期、供应商成本、订单数量、总和计算等多方面的问题,提供了相关函数使用及题目解答。通过实例解析了SQL的聚合方法、子查询、合并查询等操作,帮助读者提升SQL技能。
摘要由CSDN通过智能技术生成

目录

一、顾客登录名

相关函数

1.小写转大写:upper('aa');

2.截断:substr(String,起始位置,截取长度)

3.字符串拼接:concat(String,String)

题目解答

二、返回 2020 年 1 月的所有订单的订单号和订单日期

相关函数

1.拿到年份:select year("2022-04-05 16:20:50");

2.拿到月份:month('  ');

题目解答

三、每个供应商成本最低的产品

题解

四、返回订单数量总和不小于100的所有订单的订单号

题解

聚合方法

子查询方法

五、计算总和

题解

六、返回购买价格为 10 美元或以上产品的顾客列表

七、返回购买 prod_id 为 BR01 的产品的所有顾客的电子邮件

八、返回每个顾客不同订单的总金额_牛客题霸_牛客网

九、确定最佳顾客的另一种方式

十、检索每个顾客的名称和所有的订单号

十一、返回产品名称和每一项产品的总订单数

函数:ifnull(表达式,0):表达式是null,结果就置为0,否则就是原表达式值

十二、列出供应商及其可供产品的数量_牛客题霸_牛客网

union 合集(合并查询)

十三、将两个 SELECT 语句结合起来_牛客题霸_牛客网

十四、组合 Products 表中的产品名称和 Customers 表中的顾客名称

回顾SQL 


一、顾客登录名

牛客题霸_牛客网 http:// https://www.nowcoder.com/

相关函数

1.小写转大写:upper('aa');

select upper('aa')->结果:AA

2.截断:substr(String,起始位置,截取长度)

select substr('abcd',1,2);->结果:ab

3.字符串拼接:concat(String,String)

select concat('AZ','BB');->结果:AZBB

eg:

select concat (substr('Andy Li',1,2),substr('Oak Park',1,3));  -- 结果AnOak

-- 对上面结果转大写(加upper即可)

select upper( concat (substr('Andy Li',1,2),substr('Oak Park',1,3))); 

题目解答

select
cust_id,
cust_name,
upper(concat(substr(cust_contact,1,2),substr(cust_city,1,3)))
as user_login
from Customers;

二、返回 2020 年 1 月的所有订单的订单号和订单日期

牛客题霸_牛客网 https://www.nowcoder.com

相关函数

1.拿到年份:select year("2022-04-05 16:20:50");

结果:2022

2.拿到月份:month('  ');

select month("2022-04-05 16:20:50");->结果:4

题目解答

select order_num,order_date
from Orders
where year(order_date)=2020 and month(order_date)=1
order by order_date;

三、每个供应商成本最低的产品

牛客题霸_牛客网  https://www.nowcoder.com

题解

select vend_id,
min(prod_price) cheapest_item
from Products
group by vend_id -- 按vend_id分组聚合
order by cheapest_item;

四、返回订单数量总和不小于100的所有订单的订单号

牛客题霸_牛客网  https://www.nowcoder.com/

题解

聚合方法

select order_num
from OrderItems
group by order_num  -- 聚合字段
having  sum(quantity)>=100  -- 在此处having过滤时利用聚合函数聚合sum,将聚合后的结果过滤
order by order_num;

子查询方法

select order_num 
from(
   select order_num, sum(quantity) sum_q
   from OrderItems
   group by order_num  -- 聚合字段
    ) t
where sum_q>=100
order by order_num;

-- 解释 先把聚合后的结果拿到,利用子查询继续判断

五、计算总和

牛客题霸_牛客网  https://www.nowcoder.com 

题解

select order_num,sum(item_price*quant

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值