面试问题汇总:
Math.round函数:基础加0.5,向下取整
MySQL查询执行流程:
当我们执行一条SQL查询语句时,MySQL数据库会按照以下步骤进行处理:
- 语法解析器会对SQL语句进行解析,检查SQL语法是否正确。
- 元数据查询器会检查查询的表和字段是否存在,以及当前用户是否具有相应的权限。
- 查询优化器会根据查询条件和索引情况生成执行计划。
- 存储引擎会根据查询计划执行查询,从磁盘或内存中读取数据并返回结果。
在MySQL中,WHERE
子句中的条件会按照以下顺序进行执行:
AND
条件优先于OR
条件执行。- 括号中的条件会优先于非括号中的条件执行。
- 从左到右依次执行条件。
Mysql纵向维度变成横向维度:
student表:
subject表:
stu_sub_source表:
-- GROUP_CONCAT()字符串拼接SELECTstu.stuId,stuName,SUM( CASE subName WHEN "语文" THEN source ELSE 0 END ) "语文",SUM( CASE WHEN subName = "数学" THEN source ELSE 0 END ) "数学",SUM(IF( subName = "英语", source, 0 )) "英语",SUM(<