sql心经

问题:

  查数据是一件很痛苦的事,尤其是多张表链接查询更是惨不忍睹

  各种条件拼接,各种查询数据不对,看着写了半天的sql,感觉很完美,没毛病啊。。。

分析:

  http://blog.jobbole.com/55086/

  今天看了一篇文章,醍醐灌顶,自己之前理解的sql,概念和原理差的很多,皮毛都算不上,而且还误入歧途

  之前觉得,sql一步步执行,条件写对了,一步一步过滤,现在看来

  TOO YOUNG TOO SIMPLE

心得:

  1.sql是一种声明式语言,它不在乎你步骤写的有多好,过程多美丽,

    它只是,你给我条件,声明你要的结果模型,告诉我源数据表,可以了,我自己跑,还你个结果

  2.sql执行是无序的,它不会按照你写的步骤一步一步执行,

    表连接确定数据,以条件挑选数据,以select确定结果映射模型,执行,得到你要的结果,完啦。。。

    sql最先执行的是from,条件限定取出结果源,最后才是执行select映射结果模型

    所以select取列起别名的是不能当条件的,因为还没有执行到这一步

  3.sql的执行是基于表的,不是基于字段的,这个我感觉我理解的不是很好,理解的不到位

  4.维度是什么?可以看成横向纵向维度,横向来看是列,纵向来看是每列记录

    分为横纵轴,看横纵轴的点就知道了

原文地址:https://www.cnblogs.com/hackxiyu/p/8006579.html