高频 SQL 50题(基础版)| 连接


🌈 个人主页: Hygge_Code
🔥 热门专栏:从0开始学习Java | Linux学习| 计算机网络
💫 个人格言: "既然选择了远方,便不顾风雨兼程"

文章目录

  • [P1068. 产品销售分析 I (外连接)](#P1068. 产品销售分析 I (外连接))
  • [P1581. 进店却未进行过交易的顾客](#P1581. 进店却未进行过交易的顾客)
  • [P197. 上升的温度](#P197. 上升的温度)
    • [日期函数 `DATEDIFF`🍋‍🟩](#日期函数 DATEDIFF🍋‍🟩)
  • [P1661. 每台机器的进程平均运行时间](#P1661. 每台机器的进程平均运行时间)
    • [四舍五入`ROUND` 🍋‍🟩](#四舍五入ROUND 🍋‍🟩)
    • [条件句`IF` 🍋‍🟩](#条件句IF 🍋‍🟩)
  • [P577. 员工奖金](#P577. 员工奖金)
  • [P1280. 学生们参加各科测试的次数 🐦‍🔥](#P1280. 学生们参加各科测试的次数 🐦‍🔥)
    • [交叉联表`CROSS JOIN` 🍋‍🟩](#交叉联表CROSS JOIN 🍋‍🟩)

P1068. 产品销售分析 I (外连接)

对应的SQL语句:

P1581. 进店却未进行过交易的顾客


对应的SQL语句:

**思路1:**我们把没有交易的visit_id挑选出来后,分组后即可根据customer_id计数

**思路2:**两个表左连接Visits后,挑选出transaction_id为null的,分组使用聚合函数查询

P197. 上升的温度

对应的SQL语句:

日期函数 DATEDIFF🍋‍🟩

  • DATEDIFF(a.recordDate, b.recordDate) = 1:保证 a 的日期比 b 晚 1 天(前一天)

P1661. 每台机器的进程平均运行时间

对应的SQL语句:

四舍五入ROUND 🍋‍🟩

**解法一:**内连接,两个相同的表进行操作

条件句IF 🍋‍🟩

**解法二:**只使用一个表,使用 IF、SUM 和 DISTINCT

P577. 员工奖金

对应的SQL语句:

P1280. 学生们参加各科测试的次数 🐦‍🔥


对应的SQL语句:

交叉联表CROSS JOIN 🍋‍🟩

**思路:**本道SQL题目,若只是让我们统计每个学生的考试科目次数(不包括0次的),那么就非常简单,只需要让学生表和考试表形成左连接再使用COUNT查询即可。 但是,这道我们需要统计所有学生所有科目的考试次数,所以我们就需要一个交叉链表(形成笛卡尔积),形成所有学生对应所有科目的表,即学生表和科目表交叉连接,再左外连接考试表,COUNT (NULL)=0正好符合 "无考试则次数为 0" 的需求,使用COUNT查询即可


如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!

相关推荐
wespaul1 小时前
VeapAI 自然语言操作实战|第 05 篇:向量与召回——从知识条目到可检索资产
大数据·数据库·人工智能·milvus
一只鹿鹿鹿6 小时前
政务外网整体设计方案(PPT)
大数据·数据库·web安全·系统安全·流程图·政务
2603_965148117 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
for_ever_love__7 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
AI砖家7 小时前
安全进入 Agent Loop:2027 年 Coding Agent 的决胜点
数据库·安全·codex·vibecoding
wangqiaowq7 小时前
SQL server C盘空间占满的处理
数据库·sql
文人sec7 小时前
SQL基础入门笔记 | 从零基础到掌握核心查询语句
数据库·笔记·sql
数字新视界7 小时前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB技术团队7 小时前
冷热分层从建到验:Storage Policy 创建、表级与分区级绑定、SHOW TABLETS 验证的完整命令
大数据·数据库·elasticsearch·搜索引擎·数据分析·apache doris·冷热分层
YangYang9YangYan9 小时前
2027供应链计划校招:数学与应用数学专业如何把预测模型讲成业务决策?
人工智能·sql·算法