数据开发面试:DQL,

news/2025/2/27 0:00:16

DQL常见面试题  

where 和 having 的区别


三个排序开窗函数的区别


left join 用where 筛选 和 用on筛选的区别

  • ON 子句:用于定义连接条件,不会丢失左表的行。

  • WHERE 子句:用于过滤连接后的结果集,可能会丢失左表中没有匹配的行

示例 

 

WHERE 子句在连接操作之后应用,用于过滤结果集中的行。在这个查询中,WHERE b.salary > 5000 会过滤掉所有 b.salary 小于或等于 5000 的行,包括那些 b.salaryNULL 的行(即左表中的行在右表中没有找到匹配的行)。

union 和 union all 的区别

union 

  • 去重UNION 会自动去除合并后结果集中的重复行。

  • 性能:因为需要检查重复行,所以 UNION 通常比 UNION ALL 执行得慢一些

union all 

  • 不去重UNION ALL 会保留合并后结果集中的所有行,包括重复行。

  • 性能:因为不需要检查重复行,所以 UNION ALL 通常比 UNION 执行得快。

count(*)  count(1) count(字段)的区别

  • COUNT(*):计算所有行数,包括列值为 NULL 的行。

  • COUNT(1):计算所有行数,与 COUNT(*) 类似

  • COUNT(列):计算指定列非 NULL 值的数量。

COUNT(*) 可能比 COUNT(列) 更快,因为它不需要检查列值是否为 NULL 

COUNT(1)COUNT(*) 的性能相似

 a表有3条数据,b表有5条数。a left join b 最少多少条,最多多少条

最少3条>>b表没有与a表匹配的数据

最多15条>>b表的每一条数据都能和a表匹配上,产生笛卡尔积

DDL面试题

 truncate 、 delete 、 drop的区别

1.drop删除对象,delete和truncate删除数据;

2.drop和truncate属于DDL(数据库定义语言);  delete属于属于DML(数据库操作语言);

3.TRUNCATE只能删除全部数据,DELETE可以删除全部也可以条件删除;

4.性能:  drop > TRUNCATE > DELETE;

5.数据恢复: 

TRUNCATE的数据不能回滚也不能闪回,

DELETE掉的数据可以回滚(在事务未提交的前提下), 以及闪回查询

DROP可以闪回表,可以恢复数据,但是不能回滚(因为属于DDL);

如何避免索引失效

写文章-CSDN创作中心

 什么时候使用索引

经常用于数据过滤的字段(where或having后面的字段)

经常用于表连接的字段, 

经常用于排序或分组

需要保持唯一性的字段>>建唯一索引/主键索引

经常用于范围查询的字段>>索引可以加速查询范围的定位频繁查询但是更新较少的字段>>当表中的数据发生变化(插入、更新、删除)时,索引也需要同步更新, 频繁更新会降低索引性能

4. 分区表类型

5. 视图和表的区别


http://www.niftyadmin.cn/n/5869290.html

相关文章

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是国内视频行业最重要的国家标准,目前有三个版本: 2011 年:推出 GB/T 28181-2011 版本,为安防行业的前端设备、平…

Visual Studio Code FAQ

Visual Studio Code FAQ Visual Studio Code FAQVisual Studio Code 和 Visual Studio IDE 有什么区别?支持哪些作系统?VS Code 软硬件要求硬件平台不支持其他 Linux 要求 VS Code 是免费的吗?如何禁用遥测报告如何禁用试验 如何禁用崩溃报告…

力扣-动态规划-343 整数划分

思路 dp数组定义:i的最大化乘积为dp[i]递推公式:j取1到二分之i,然后分别求dp[i] max( dp[i], max(j*(i-j), j*dp[i-j]))dp数组初始化:dp[2] 1遍历顺序:顺序遍历时间复杂度: 代码 class Solution …

企业级大模型应用的Java-Python异构融合架构实践

一、后端语言相关技术生态 Python语言 Python在AI计算领域拥有全面的生态支持: 底层工具库: Pandas、NumPy、SciPy、Matplotlib深度学习框架: PyTorch、TensorFlow领域专用框架: HuggingFace Transformers(社区生态为主) 常见Python框架 …

HarmonyOS学习第7天: 文本组件点亮界面的文字魔法棒

一、引言 在 HarmonyOS 那丰富多彩的系统界面中,从简洁直观的应用图标,到交互流畅的操作菜单,再到生动形象的图文展示,每一处细节都经过精心雕琢,为用户带来了独特而美妙的视觉与交互体验。而在这琳琅满目的界面元素中…

Linux相关知识(文件系统、目录树、权限管理)和Shell相关知识(字符串、数组)

仅供自学,请去支持javaGuide原版书籍。 1.Linux 1.1.概述 Linux是一种类Unix系统。 严格来讲,Linux 这个词本身只表示 Linux内核,单独的 Linux 内核并不能成为一个可以正常工作的操作系统。所以,就有了各种 Linux 发行版&#…

【深度学习神经网络学习笔记(三)】向量化编程

向量化编程 向量化编程前言1、向量化编程2、向量化优势3、正向传播和反向传播 向量化编程 前言 向量化编程是一种利用专门的指令集或并行算法来提高数据处理效率的技术,尤其在科学计算、数据分析和机器学习领域中非常常见。它允许通过一次操作处理整个数组或矩阵的…

支持 40+ 插件,Spring AI Alibaba 简化智能体私有数据集成

作者:张震霆 & 何裕墙,Spring AI Alibaba Contributor 在 AI 智能体(AI Agent)开发的过程中,RAG(Retrieval-Augmented Generation) 和 Tool Calling 已经成为两种至关重要的模式。RAG 通过…