sql查詢點滴記載。本站提示廣大學習愛好者:(sql查詢點滴記載)文章只能為提供參考,不一定能成為您想要的結果。以下是sql查詢點滴記載正文
也紛歧定,之前歷來沒有深刻的研討過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依據指定列停止排序