SQL面试题实战解析:创建表与联查操作

需积分: 9 3 下载量 151 浏览量 更新于2024-09-19 收藏 10KB TXT 举报
本文档主要聚焦于SQL经典面试题,涵盖了SQL基础操作、表结构设计、右连接查询以及分组聚合函数的应用。以下是详细的知识点解析: 1. **SQL基础创建表**: - 首先,文档展示了如何创建两个表格,`testtable1`和`testtable2`。`testtable1`包含id(自增整数)和department(最大长度为12的字符串)字段,而`testtable2`则有id(自增)、dptID(关联`testtable1`的id)、name(字符串类型)字段。 - 通过`INSERT INTO`语句向这两个表中插入数据,展示不同字符集下的值。 2. **右连接查询示例**: - 使用`RIGHT JOIN`操作,将`testtable1`与`testtable2`连接,条件是`testtable2.dptID`等于`testtable1.ID`。`ISNULL`函数在这里用于处理`department`字段可能的空值,返回非空值或默认字符串。 3. **分组聚合函数应用**: - SQL查询中的`GROUP BY`语句被用来按照`p_id`字段对`myPro`表进行分组,然后计算每个组中特定`s_id`对应的`p_num`的和。这里演示了`CASE`表达式在聚合函数中的使用,分别计算`s_id`为1、2和3时的`p_num`总和,并在结果中添加了`s1_ids2_ids3_id`列。 4. **多层嵌套查询**: - 最后一个示例展示了如何通过嵌套查询获取更复杂的数据组合。通过外部查询(GROUP BY `p_id`),内部查询针对每个`p_id`分组计算`s_id`为1、2和3时的`p_num`,并以`sum`函数求和。这个例子展示了如何在SQL中进行多级逻辑运算和数据汇总。 总结来说,这份文档包含了SQL的基础操作如表结构和数据插入,以及更高级的查询技巧,如连接操作和聚合函数的使用。这些知识点对于理解SQL的全面应用至关重要,尤其在面试中可能会被提问,以考察应聘者的SQL基础和实际解决问题的能力。