也不一定,以前从来没有深入的研究过sql查询,最近买了一本T-SQL查询的书,把以前忽视的问题都记录一下
以前一直模模糊糊的把sqlserver作为关系数据库,里面就是以表的方式进行数据的关系化话管理,后来有些SQL语句看着怪怪的,也没怎么管
其实
“写好sql,需要的是一种面向声明和集合的思维方式,而不是面向过程的(集合是重点)”(PS:数据库里面的表就是一个集合,集合是无序的!)
以前没太注意过sql语句执行时的逻辑顺序,在研究linq时,linq强调了sql语句的执行顺序,在看书时也留意了一下
(5) select (5-2) distinct (5-3) top (<top_specification>) (5-1) <select_list>
(1) from (1-j) <left_table> <join_type> join <right_table> on <on_predicate>
|(1-a) <left_table> <apply_type> apply <right_table_expression> as <alias>
|(1-p) <left_table> pivot (<pivot_specification>) as <alias>
|(1-u) <left_table> unpivot (<unpivot_specification>) as <alias>
(2) where <where_predicate>
(3) group by <group_by_specification>
(4) having <having_predicate>
(6) order by <order_by_list>
可以看到
第一个阶段是from :标识出查询的来源,处理表(集合)运算符
第二个阶段是where根据谓词(查询条件)进行刷选
第三个阶段是gruop by 根据指定的列表名进行分组
第四个阶段是having 根据having中出现的谓词进行刷选
第五个阶段是select
第六各阶段是order by根据指定列进行排序
sql查询点滴记录
2019-12-12 15:33MSSQL教程网 Sql Server
做.NET有一段时间了,如果说不会sql,那肯定是假的,但是真的掌握吗
延伸 · 阅读
- 2021-12-17django执行原生SQL查询的实现
- 2021-11-02使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和
- 2021-04-05mySql关于统计数量的SQL查询操作
- 2021-03-28Python SQL查询并生成json文件操作示例
- 2020-08-21Sql查询MySql数据库中的表名和描述表中字段(列)信
- 2020-05-23Mybatis传递多个参数进行SQL查询的用法
精彩推荐
- Sql Server
SQLSERVER数据备份文件的分割备份方法
这篇文章主要介绍了SQLSERVER数据备份文件的分割备份方法 ,需要的朋友可以参考下 ...
- Sql Server
SQL Server 2000“设备激活错误”的解决方法
数据库恢复时出现诸如“设备激活错误,请使用with move选项来标志该文件的有效位置”报错的解决方法 ...
- Sql Server
sqlserver 索引的一些总结
如果说要对数据库进行优化,我们主要可以通过以下五种方法,对数据库系统进行优化 ...
- Sql Server
sql查询点滴记录
做.NET有一段时间了,如果说不会sql,那肯定是假的,但是真的掌握吗 ...
- Sql Server
使用 TOP 子句限制UPDATE 语句更新的数据
这篇文章主要介绍了使用 TOP 子句限制UPDATE 语句更新的数据,需要的朋友可以参考下 ...
- Sql Server
SQLserver 实现分组统计查询(按月、小时分组)
首先创建数据表IP地址,访问时间和访问次数。如果每访问一次就插入一条记录,那么AccessCount可以不要,查询时使用count就可以了,这样当访问量很大的时...
- Sql Server
在SQLServer 2005中编写存储过程
在SQL Server 2000中,实际上只有一种创建存储过程的方法:即T-SQL语句。之前的每个SQL Server版本都采用这个程序。...
- Sql Server
sql server中查找特定类别的列的写法
要对特定类别的列进行一些操作,写了以下的一段代码,比较方便检查数据库内同一类别的所有列,示例用来查所有nvarchar的列 ...