sql 查表的基本方式

2022-09-18 22:30:12 字數 1270 閱讀 6633

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的具體資...