一、SQL的常识:

SQL是由列组成的,它没有行的概念

一列或多列组成了SQL的表

列是由单元格组成的,单元格是由不同的数据填充的,不同的数据有不同的数据类型。


二、SQL底层8大原理

  • 取数的本质是什么
    • SELECT+FROM
    • SELECT 取的是列
    • FROM取的是表
  • 筛选的本质是什么
    • 基于列筛选,减少行数
  • 去重的本质是什么
    • 基于某些列,删除重复值,保证唯一性,减少行数。
  • 聚合的本质是什么
    • 将多行数据,变成一行数据
  • 排序的本质是什么
    • 基于某些列,调整单元格顺序,不改变行数
  • 连接的本质是什么
    • 连接表,补充字段
  • 子查询的本质是什么
    • 只有一列的表,只有一个单元格的列,灵活的在表、列、单元格间转换, 是SQL思考的灵活方法。
    • FROM 子查询
      • FROM后面的子查询,是由SELECT+FROM构成的一张表,需要加别名
    • WHERE IN 子查询
      • 这里的子查询是列(见上面筛选的本质),所以不需要加别名
    • HAVING 子查询
      • HAVING后面跟的是值(单元格) ,所以不需要加别名
  • 窗口函数的本质是什么
    • 在现有查询结果下,再次进行查询,并新增一列

刷题,是检验SQL会不会的唯一真理!