SQL面试常见问题解决方案.docxVIP

  • 1
  • 0
  • 约2.95千字
  • 约 5页
  • 2026-04-22 发布于河北
  • 举报

SQL面试常见问题解决方案

一、基础查询(必问)

1.去重怎么写?

sql

SELECTDISTINCTcolumnFROMtable;

2.限制返回行数

MySQL:

sql

SELECT*FROMtLIMIT10;

SQLServer:

sql

SELECTTOP10*FROMt;

Oracle:

sql

SELECT*FROMtWHEREROWNUM=10;

二、聚合与分组(高频)

3.统计每个部门的人数、平均工资

sql

SELECTdept_id,COUNT(*)AScnt,AVG(salary)ASavg_salFROMemployeeGROUPBYdept_id;

4.分组后筛选(HAVING与WHERE区别)

WHERE先过滤行,再分组;HAVING过滤分组结果。

例:找出平均工资8000的部门

sql

SELECTdept_id,AVG(salary)FROMemployeeGROUPBYdept_idHAVINGAVG(salary)8000;

5.COUNT(1)、COUNT(*)、COUNT(列)区别

COUNT(*):统计所有行(含NULL)

COUNT(1):效果同COUNT(*)

COUNT(col):统计列非NULL行数

三、多表

文档评论(0)

1亿VIP精品文档

相关文档