当前位置: 首页 > 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++:继承(这一篇就够了)
  • css视觉格式化模型
  • JavaScript 中常用事件
  • shell打印粉色小心心、颜文字心心
  • 高效文件管理:利用文件名关键字进行归类,批量移动文件
  • Cypress安装与使用教程(3)—— 软测大玩家
  • 应用在网络摄像机领域中的国产音频ADC芯片
  • 二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
  • 漏洞复现-海康威视网络对讲广播系统远程命令执行漏洞(附漏洞检测脚本)
  • vue3 element plus el-table封装(二)
  • Spring Boot 自动配置功能介绍
  • STM32CubeMX教程11 RTC 实时时钟 - 入侵检测和时间戳
  • ES6之解构赋值详解
  • 跨进程通信 macOS XPC 创建实例
  • yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测-附代码和原理
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • magento2项目上线注意事项
  • MySQL的数据类型
  • php ci框架整合银盛支付
  • vue总结
  • 包装类对象
  • 使用parted解决大于2T的磁盘分区
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 项目实战-Api的解决方案
  • 新书推荐|Windows黑客编程技术详解
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 怎样选择前端框架
  • ionic入门之数据绑定显示-1
  • k8s使用glusterfs实现动态持久化存储
  • ​​​【收录 Hello 算法】9.4 小结
  • # Apache SeaTunnel 究竟是什么?
  • # Redis 入门到精通(七)-- redis 删除策略
  • #在 README.md 中生成项目目录结构
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (5)STL算法之复制
  • (C++20) consteval立即函数
  • (接口封装)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • .net core docker部署教程和细节问题
  • .NET Core 中的路径问题
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net开发日常笔记(持续更新)
  • .net网站发布-允许更新此预编译站点
  • @Autowired自动装配
  • @JSONField或@JsonProperty注解使用
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [ A*实现 ] C++,矩阵地图
  • [.net] 如何在mail的加入正文显示图片
  • [@Controller]4 详解@ModelAttribute
  • []error LNK2001: unresolved external symbol _m
  • [20150629]简单的加密连接.txt
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解