数据工程师面试题及详细答案.docxVIP

  • 1
  • 0
  • 约1.53万字
  • 约 15页
  • 2026-05-29 发布于河北
  • 举报

数据工程师面试题及详细答案

一、基础必考题(考察核心功底,无基础不通过)

1.请说说SQL中innerjoin、leftjoin、rightjoin、fulljoin的区别,结合实际业务场景举例说明

答案:核心区别在于“是否保留关联表中未匹配的数据”,实际业务中最常用innerjoin和leftjoin,rightjoin极少用,fulljoin几乎不用(业务场景极特殊)。

1.innerjoin(内连接):只保留两个表中“关联条件完全匹配”的数据,不匹配的行全部过滤。

实际场景:统计“已下单且有用户信息”的订单数——订单表(order)和用户表(user),关联条件order.user_id=user.id,用innerjoin可排除掉用户信息缺失的异常订单。

2.leftjoin(左连接):保留左表所有数据,右表只保留匹配的数据,右表未匹配的字段显示为null。

实际场景:统计“所有用户的下单情况”,包括未下单的用户——左表是用户表(user),右表是订单表(order),关联条件user.id=order.user_id,未下单用户的订单相关字段为null,可通过isnull(order.id,0)统计未下单人数。

3.rightjoin(右连接):和leftjoin相反,保留右表所有数据,左

文档评论(0)

1亿VIP精品文档

相关文档