select ...,....,...
from ...,...,....
where 多表的連線條件
and 不包含組函式的過濾條件
group by ...,...
h**ing 包含組函式的過濾條件
order by ... asc/desc
limit ...,...
select ...,....,...
from ... join ...
on 多表的連線條件
join ...
on ...
where 不包含組函式的過濾條件
and/or 不包含組函式的過濾條件
group by ...,...
h**ing 包含組函式的過濾條件
order by ... asc/desc
limit ...,...
from:從哪些表中篩選
on:關聯多表查詢時,去除笛卡爾積
where:從表中篩選的條件
group by:分組依據
h**ing:在統計結果中再次篩選
order by:排序
limit:分頁
4.3 sql 的執行原理
select 是先執行 from 這一步的。在這個階段,如果是多張表聯查,還會經歷下面的幾個步驟:
1. 首先先通過 cross join 求笛卡爾積,相當於得到虛擬表 vt(virtual table)1-1;
2. 通過 on 進行篩選,在虛擬表 vt1-1 的基礎上進行篩選,得到虛擬表 vt1-2;
3 新增外部行。如果我們使用的是左連線、右鏈結或者全連線,就會涉及到外部行,也就是在虛擬表 vt1-2 的基礎上增加外部行,得到虛擬表 vt1-3。
4. 當然如果我們操作的是兩張以上的表,還會重複上面的步驟,直到所有表都被處理完為止。這個過程得到是我們的原始資料。
group 和 h**ing 階段。在這個階段中,實際上是在虛擬表 vt2 的基礎上進行分組和分組過濾,得到中間的虛擬表 vt3 和 vt4 。
進入到 select 和 distinct階段,篩選表中提取的字段.首先在 select 階段會提取想要的字段,然後在 distinct 階段過濾掉重複的行,分別得到中間的虛擬表vt5-1 和 vt5-2 。
order by 階段,按照指定的字段進行排序, 得到虛擬表 vt6 。
limit 階段,取出指定行的記錄,也就是,得到最終的結果,對應的是虛擬表vt7 。當然我們在寫 select 語句的時候,不一定存在所有的關鍵字,相應的階段就會省略。(尚矽谷)
sql 查表的說明資訊
select case when a.colorder 1 then d.name else end 表名,a.colorder 字段序號,a.name 欄位名,g.value as 字段說明 from syscolumns a left join systypes b on a.xtype b.x...
arctan查表法 arctan 函式的查表演算法
arctan 函式的查表演算法 文集庫2020 05 13 14 34 56 目標 實現反正切函式的查表演算法,精度0.5 分析 f x arctan x 函式單調但非線性,越接近原點處,斜率越大。90 比較特殊,其值為正無窮大,只要得到的正切值tana大於114.59 89.5度對應的正切值 就可...
電池管理系統的SOP估算(基於查表方式)
1 sop,即state of power,表示的是電池的功率狀態,目前電芯 商在給出電芯引數時,會給出5s,10s,30s,60s的持續功率 以60s的持續功率為例作為解釋 電芯在60s內以不大於 中給出的功率持續放電可以保證不會影響電芯的壽命與使用 如表1中所示,為 保證不洩密,將sop的具體資...