📜  高级 SQL 面试问题

📅  最后修改于: 2021-09-08 15:51:43             🧑  作者: Mango

不同的公司有不同的面试方式。有些人会专注于工作经验和知识;其他人可能专注于个性,而其他人则介于两者之间。

因此,从不同的面试问题和答案中寻找和学习可以帮助了解不同市场中最重要的事物的不同观点。因此,这里是基于区块链的电子学习平台的高级 SQL 面试问题列表。

  • Que-1:解释“索引”的含义。
    解释:
    索引有助于更快、更高效地从数据库中检索信息。换句话说,它是一种提高性能的方法,有 3 种类型的索引:
    • Clustered – 重新排序表并使用键值搜索信息
    • 非集群– 维护表的顺序
    • 唯一– 禁止字段具有重复值

    此外,一张表可以有多个非聚簇索引,但只能有1 个单聚簇索引。

  • Que-2:你忘记了你的root密码,你会怎么做?
    解释:
    1. 使用“ skip-grants-table ”命令启动数据库。
    2. 设置新密码后,以正常模式重启数据库并输入新密码。
  • 问题 3: NULL 值是否等于零?
    解释:
    不,因为“”具有数字方式,而NULL表示没有字符。当字符未知或不可用时会发生这种情况。此外,NULL 不应与空格混淆,因为没有分配任何值的数据记录与没有附加数据记录的普通空格不同。
  • Que-4:数据盘超载怎么办?
    解释:
    您应该应用软链接:这些链接创建一个位置,您可以在其中存储.frm.idb文件。这将解决过载问题。
  • Que-5:解释一下什么是“自动增量”?
    解释:
    此命令允许您在将新记录写入表时生成唯一编号。当您希望每次插入新记录时都自动生成主键字段值时,这个函数就派上用场了。

    另一件值得注意的事情是该命令可以在各种平台上使用。对于 SQL Server,“自动增量”命令是“身份”。

  • Que-6: MySQL最基本的架构组件有哪些?
    解释:
    有三个主要组成部分:
    1. 查询优化器;
    2. 连接管理器;
    3. 可插拔引擎。
  • Que-7:使用现有的桌子,制作一张空桌子。
    解释:
    Select * into employeecopy from employee where 1=2 
  • Que-8:您将如何检查您当前的 SQL 版本?
    解释:
    您可以通过发出以下命令获取最新的 SQL 版本:
    SELECT VERSION()
  • Que-9:从表中获取替代的奇数记录。
    解释:
    这可以使用以下命令来实现:
    Select employeeId from (Select rowno, employeetId from employee) where mod(rowno, 2)=1 
  • 问题 10:什么命令会从表中选择唯一的记录?
    解释:
    distinct ”命令。下面是一个例子:
    Select DISTINCT employeeID from Employee 
  • 问题 11:什么是 SQL 的变量?
    解释:
    在 SQL 中,有两个不同的变量:

    • 局部——这些变量只能存在于一个函数
    • 全局– 与本地相反,这意味着它们可以通过整个程序定位。
  • Que-12:什么是“数据仓库”,它有什么作用?
    解释:
    数据仓库”是用于数据分析和报告的系统。基本上,它是一个数据仓库。 DW 中的数据可以从不同的区域和来源存储,从而使它们成为可供使用的集成数据的中央存储库。
  • 问题 13: “递归存储过程”主要用于什么?
    解释:
    递归存储过程是使代码调用自身直到达到特定边界条件的过程。这是一种生产力类型的东西,它允许程序员多次使用相同的代码。
  • 阙-14:从检索前3个字符。
    解释:
    有几种方法可以做到这一点。尽管如此,下面显示的命令可以被视为更受欢迎和更简单的命令:
    Select SUBSTRING(EmployeeSurname, 1, 5) as employeesurname from employee 
  • Que-15:如何从两个表中检索公共记录?
    解释:
    通过执行以下任务:
    Select employeeID from employee. INTERSECT Select EmployeeID from WorkShift