当前位置: 首页 > news >正文

SQL常见面试题

        今天刷了一遍牛客里的必知必会题,一共50道题,大部分都比较基础,下面汇总一下易错题。

SQL81 顾客登录名

        本题几个关键点:

  • 登录名是其名称和所在城市的组合,因此需要使用substring()和concat()截取和拼接字段。
  • 得到登录名之后需要用upper()转大写。
  • 用as取别名。
select cust_id,cust_name,
upper(concat(substring(cust_name,1,2),substring(cust_city,1,3))) as user_login
from Customers

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

        本题筛选条件和日期有关,需要掌握日期相关的查询条件,有两种方式解此题:

# 法一
# select order_num,order_date
# from Orders
# where order_date like '2020-01-%'
# order by order_date ASC# 法二
select order_num,order_date
from Orders
where YEAR(order_date)='2020' and MONTH(order_date)='01'
order by order_date ASC

SQL86 返回每个订单号各有多少行数

        本题要注意返回的是每个订单号的行数。

select order_num,count(order_num)
from OrderItems 
group by order_num
order by count(order_num) ASC

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

        having应在group by 之后。

select order_num
from OrderItems
group by order_num
having sum(quantity)>=100
order by order_num

SQL100 确定最佳顾客的另一种方式(二)

        本题需要注意 HAVING 子句在聚合之后筛选结果。

select cust_name,sum(item_price*quantity) as total_price
from OrderItems
inner join Orders on OrderItems.order_num=Orders.order_num
inner join Customers on Orders.cust_id=Customers.cust_id
group by cust_name
having total_price>=100
order by total_price 

SQL108 组合 Products 表中的产品名和 Customers 表中的顾客名

       union与union all 都是行合并,前者去重,后者不去重,会全部罗列出来。他们合并后列数不变,行数变多。UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

select prod_name
from Products
union all 
select cust_name
from Customers
order by prod_name 

SQL109 纠错4

在用 UNION 组合查询时,只能使用一条 ORDER BY 子句,它必须出现在最后一条 SELECT 语句之后。对于结果集,不存在用一种方式排序一部分,而又用另一种方式排序另一部分的情况,因此不允许使用多条 ORDER BY 子句。

SELECT cust_name, cust_contact, cust_email 
FROM Customers 
WHERE cust_state = 'MI' 
UNION 
SELECT cust_name, cust_contact, cust_email 
FROM Customers 
WHERE cust_state = 'IL'
ORDER BY cust_name

http://www.lryc.cn/news/271896.html

相关文章:

  • 怎么获取客户端真实IP?GO
  • 山海鲸可视化软件的优势:数据整合、可视化与个性化定制
  • Mybatis行为配置之Ⅰ—缓存
  • 【Java开发岗面试】八股文—计算机网络
  • 【PythonRS】基于矢量范围批量下载遥感瓦片高清数据(天地图、高德、谷歌等)
  • 穷举vs暴搜vs深搜vs回溯vs剪枝
  • Sensor Demosaic IP 手册PG286笔记
  • HarmonyOS —— UIAbility 页面跳转总结
  • Spring Boot 3 集成 Jasypt详解
  • Spring Boot整合 EasyExcel 实现复杂 Excel 表格的导入与导出功能
  • SQLSERVER排查CPU占用高
  • uniapp:富文本回显
  • flink内存配置
  • easyexcel 导出
  • maven命令行安装依赖测试
  • Redis 笔记
  • 可穿戴智能设备应用领域以及使用意义分别有哪些?
  • 【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用
  • 机器学习——主成分分析(PCA)
  • 论最近热门的AI绘画技术—从小白绘画到文创手账设计【文末送书-13】
  • python打开文件的方式比较
  • 使用Jenkins和单个模板部署多个Kubernetes组件
  • Unity Meta Quest 一体机开发(十二):【手势追踪】Poke 交互 - 用手指点击由 3D 物体制作的 UI 按钮
  • Vue 3 中安装并使用 Axios 详细步骤+样例代码详解
  • IDEA 控制台中文出现乱码问题解决
  • 计算机网络(1)
  • 如果我想用python自动操作手机、电脑软件,应该学python哪方面的知识呢?
  • 关于java命令行传参
  • [LeetCode][Python]389. 找不同
  • 鸿蒙崛起:互联网大厂加速鸿蒙原生应用开发,人才争夺战打响