當前位置:首頁 » 編程語言 » sql的層次匯總
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql的層次匯總

發布時間: 2023-06-08 19:23:51

『壹』 《資料庫原理》知識點之sql概述

3.1.1 SQL發展歷程

考核要求:達到「識記」

層次知識點:SQL的發展歷程

SQL:結構式查詢語閉顫言,雖然名為查詢語言,實際上具有定義、查詢、更新和控制等多種功能。

3.1.2 SQL數據慧態核庫的體系結構

考核要求:達到「領會」

層次知識點:三級結構的理解

SQL資料庫的體系結構也是三級結構,但術語與傳統關系模型術語不同,在SQL中,關系模式稱為「基本表」,存儲模式稱為「存儲文件」,子模式稱為「視圖」,元組稱「行」,屬性稱「列」。

SQL資料庫體系的結構要點如下:

(1)一個SQL資料庫是表的匯集。

(2)一個SQL表由行集構成,行是列的序列,每列對應一個數據項。

(3)表或者是基本表,或者是視圖。基本表是實際存儲在資料庫中的表,視圖由是由若干基本表或其他視圖構成的表的定義。

(4)一個基本表可以跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。存儲文件與物理文件對應。

(5)用戶可以用SQL語句對表進行操作,包括視圖和基本表。

(6)SQL的用戶可以是應用程序,也可以是終端用戶。

3.1.3 SQL的組成

考核要求:達到「識記」

層次知識點:四個組成部分

SQL由四部分組成:

(1)數據定義:SQL DDL.定義SQL模式,基本表、視圖和索引。

(2)數據操縱:SQL DML.包括數據查詢和數據更新(增、刪、改)。

(3)數據控制:包括對基本表和視圖的授權、完整性規則的描述,事務控制等前掘。

(4)嵌入式SQL的使用規定。

『貳』 SQL 根據分級碼實現分級匯總

按分類級別的話,用group by進行分組,如果匯總的話,用sum求和,用count計數。
sql:select count(1),sum(sorce) from tablename group by class_No;
解釋:以上是假設等級欄位為class_No,之後求出每個等級的總條數和對應的「sorce」和。

『叄』 SQL92的SQL92標准有4個層次

入門級(Entry level)。
這是大多數開發商符合的級別。這一級只是對前一個標准SQL89稍做修改。所有資料庫開發商都不會有更高的級別,實際上,美國國家標准和技術協會NIST(National Institute of Standards and Technology,這是一家專門檢驗SQL合規性的機構)除了驗證入門級外,甚至不做其他的驗證。Oracle 7.0於1993年通過了NIST的SQL92入門級合規性驗證,那時我也是小組中的一個成員。如果一個資料庫符合入門級,它的特性集則是Oracle 7.0的一個功能子集。
過渡級
這一級在特性集方面大致介於入門級和中間級之間。

中間級
這一級增加了許多特性,包括(以下所列並不完整):
動態SQL
級聯DELETE以保證引用完整性
DATE和TIME數據類型

變長字元串
CASE表達式
數據類型之間的CAST函數
完備級
增加了以下特性(同樣,這個列表也不完整):
連接管理
BIT串數據類型
可延遲的完整性約束
FROM子句中的導出表
CHECK子句中的子查詢
臨時表
入門級標准不包括諸如外聯結(outer join)、新的內聯結(inner join)語法等特性。過渡級則指定了外聯結語法和內聯結語法。中間級增加了更多的特性,當然,完備級就是SQL92全部。有關SQL92的大多數書都沒有區別這些級別,這就會帶來混淆。這些書只是說明了一個完整實現SQL92的理論資料庫會是什麼樣子。所以無論你拿起哪一本書,都無法將書中所學直接應用到任何SQL92資料庫上。關鍵是,SQL92最多隻達到入門級,如果你使用了中間級或更高級里的特性,就存在無法「移植」應用的風險。

『肆』 sql 按分類級別匯總

很明顯 A,B,C,D都是兩位字元串遞增

--一級:
selecta.*,b.分類名稱from商品表a,分類表bwherecharIndex(b.分類編碼,a.分類編碼,1)=1
andb.分類等級=1
--二級:
selecta.*,b.分類名稱from商品表a,分類表bwherecharIndex(b.分類編碼,a.分類編碼,1)=1
andb.分類等級=2
--三級、四級只需改等級=3,4即可

『伍』 就SQL如何將不同行的數據分類匯總到列

將不同行的數據分類匯總到列語句如下:

1)insert into table1 select * from table2

2) select into table 1 select *from table2

這兩種寫法有什麼區別吶,首先insert into這種寫法必須有table1列,select則是在access中必須不能存在table1,否則在ado介面中會出現報錯的現象。

進行資料庫的操作,這里使用的是ado+access進行的資料庫的操作,目前來看,ado這種方式還算是比較簡單。

『陸』 SQL條件分類匯總

只會點SQL 語句,寫下來看看!代碼如下:
1:
select 用戶號,sum(收入) as 家庭收入,社區名 from shequbiao
group by 用戶號,社區名
2:
先創建一個帶參數的存儲過程:
create procere 存儲過程名
@id char(4)

as

update shequbiao set 社區名=(select 社區名 from shequbiao where 用戶類型='戶主'and 用戶號=@id )
where 用戶號=@id

然後執行:
exec 存儲過程名 參數

3:
select 用戶號 , sum(收入) as 家庭總收入,count(*)as 家庭總人數 ,用戶名=(select 用戶名 from shequbiao aa where 用戶類型='戶主'and aa.用戶號=bb.用戶號)
from shequbiao bb
group by 用戶號
order by sum(收入) desc

『柒』 SQL查詢結果分類匯總

SELECT A.*, COUNT(A.貨號) AS 貨號匯總, (A.規格匯總/ COUNT(A.貨號)) AS 比例 FROM
(
select GoodsNO as 貨號,GoodsName as 品名,SpecName as 規格,SUM(SellCount) as 規格匯總 from V_SSTTradeGoodsList where DateDiff(dd,Tradetime,getdate())<=30
GROUP BY GoodsNO,GoodsName,SpecName
)A