亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server 7.0 入門(三)

瀏覽:146日期:2023-10-28 09:15:43
數(shù)據(jù)排序;;;;;;;ORDER BY子句按指定的順序?qū)?shù)據(jù)排序(ordering data)。它要求一個列名字列表或非負(fù)整數(shù)列表來指定列的位置。分別用ASC代表升序,DESC代表降序,默認(rèn)為ASC。限制返回行的數(shù)目;;;;;;;不使用WHERE子句而限制結(jié)果中的行數(shù)是可能的。“TOP”子句能按指定數(shù)目或百分值來限制行數(shù)。數(shù)據(jù)分組和計算聚合函數(shù);;;;;;;聚合(aggregate)函數(shù)計算表中數(shù)據(jù)的總和。SQL Server提供以下的聚合函數(shù):;;;;;;;· AVG 這個函數(shù)計算平均值。語法如下:;;;;;;;AVG ([ALL | DISTINCT] expression);;;;;;;關(guān)鍵字DISTINCT只用來計算不同值的平均值,如果有許多重復(fù)值,這些值只計算一次,默認(rèn)為ALL。;;;;;;;Expression可以是涉及一列或多列的算術(shù)表達(dá)式。;;;;;;;· MIN 這個函數(shù)查找所提供表達(dá)式中的最小值。語法如下:;;;;;;;MIN (expression);;;;;;;· MAX 此函數(shù)的功能是在提供的表達(dá)式中查找最大值。語法如下:;;;;;;;MAX (expression);;;;;;;注意: 如果地字符串類型使用MIN和MAX,則輸出依賴于為SQL Server定義的順序。MIN和MAX不能在位上使用。;;;;· SUM SUM計算所有數(shù)據(jù)值的和。語法如下:;;;;;;;SUM ([ALL | DISTINCT] expression);;;;;;;注意:SUM和AVG只能用于數(shù)值數(shù)據(jù)類型。;;;;· COUNT 計算表達(dá)式值的數(shù)目。語法如下:;;;;;;;COUNT ([ALL | DISTINCT] expression);;;;;;;COUNT有另一種用法,它可以返回被選擇的行數(shù)。;;;;;;;如:SELECT NumRows = COUNT (*) FROM titles;;;;;;;聚合函數(shù)忽略所有空值,但COUNT(*)除外。盡管所有聚合函數(shù)的計算基于無空值的情況,然而COUNT(*)計算所有的行(包括有空值的行)。1.;;GROUP BY子句GROUP BY子句在被定義的數(shù)據(jù)的基礎(chǔ)上建立比較小的組,并且對每一個組進(jìn)行聚合函數(shù)計算。換句話說,它產(chǎn)生每一組的總體信息。GROUP BY可以把多于一列當(dāng)成組合列(Grouping Columns)。它總結(jié)組合列中不重復(fù)值的信息。使用了GROUP BY子句的選擇列表中只能包含以下項:· 常量值。· 組合列。· 表達(dá)式。每個表達(dá)式為每組返回一個值(如聚合函數(shù))。如果一列除了在組合列中外,還在選擇列表中,則它有多個值給組合列的每一個不重復(fù)值,這種結(jié)構(gòu)類型是不允許的。2.;;GROUP BY和HAVINGHAVING子句用來向使用GROUP BY子句的查詢中增加數(shù)據(jù)過濾準(zhǔn)則。HAVING的用法和SELECT中的WHERE子句一樣。在一個包含GROUP BY子句的查詢中使用WHERE子句是可以的。HAVING和WHERE有相同的語法。HAVING和WHERE的不同這處是:· 在WHERE子句中,在分組進(jìn)行以前,去除不滿足條件的行,在HAVING子句中,在分組之后條件被應(yīng)用。· HAVING可在條件中包含聚合函數(shù),但WHERE不能。注意:GROUP BY和HAVING子句不能使用文本或圖像數(shù)據(jù)類型。3.;;COMPUTE BY子句COMPUTE BY子句可以得到詳細(xì)或總的記錄。它把數(shù)據(jù)分成較小的組,然后為每組建立詳細(xì)記錄結(jié)果數(shù)據(jù)集(象SELECT),它也可為每組產(chǎn)生總的記錄(象GROUP BY)。在COMPUT BY中,定義BY子句不是必要的。如果沒有定義BY子句,則認(rèn)為整個表為一個組,并且只有兩個結(jié)果數(shù)據(jù)集產(chǎn)生,一個擁有所有詳細(xì)記錄,另一個只有一行,它擁有總記錄。注意:當(dāng)在COMPUTE中使用BY時,則要求在所有組合列中包含ORDER BY。Cube和Rollup操作;;;;CUBE和ROLLUP操作可比簡單的GROUP BY產(chǎn)生更多的聚合值。在產(chǎn)生交叉標(biāo)簽報告(cross tab reports)時,這些操作非常有用。如果查詢使用n個組合列,則有2n個計算聚合的組合。從多個表中訪問數(shù)據(jù);;;;我們已討論了如何訪問單個表中的數(shù)據(jù)。從多個表中訪問數(shù)據(jù)也是可能的。從多個表中訪問數(shù)據(jù)稱為連接表(joining a table)。1、;;CROSS JOIN(笛卡爾積)CROSS JOIN是簡單地、不加任何約束條件地把表組合。CROSS JOIN后結(jié)果的行數(shù)是連接前兩個表行數(shù)的乘積。如果對兩個分別有好幾千行的表進(jìn)行連接,則結(jié)果是不可想象的。2、;;INNER JOININNER JOIN是組合兩個表最常用的方法。INNER JOIN是基于一個判別式進(jìn)行的,這個判別式稱為連接條件。連接條件和WHERE子句一起定義。連接條件由來自兩個表中的列組成,并使用一個比較條件來對列的值進(jìn)行比較。通過比較的值包含在結(jié)果數(shù)據(jù)集中,以下是Inner JOIN的語法:語法1:(ANSI 92)Select <select_list>FROM <table1> INNER JOIN <table2>ON <table1>.<column name> = <table2>.<column name>語法2:Select <select_list>FROM <table1>,<table2> WHERE <table1>.<column name> = <table2>.<column name>在FROM 子句中可為表定義別名,并在任何地方都可用別名代替真名。注意:如果作為連接條件的列中有空值,則空值不能和任何值匹配,因此結(jié)果中不包含有空值的行。3、;;Left Outer JOIN在Inner JOIN中,只有在兩個表中匹配的行才能在結(jié)果數(shù)據(jù)集中。但在Left Outer JOIN中,所有左邊表中的行都出現(xiàn)在結(jié)果數(shù)據(jù)集中,如果左邊表中的某一行在右邊表中沒有匹配的行,則以空值取代右邊表中的值和它連接。語法如下:(ANSI 92)Select <select_list>FROM <table1> LEFT OUTER JOIN <table2>ON <table1>.<column name> = <table2>.<column name>4、;;Right Outer JOINRight Out JOIN和Left Outer JOIN相似,不同的是把右邊的表作為外部表(所有右邊表中的行包含在結(jié)果數(shù)據(jù)集中)。語法如下:Select <select_list>FROM <table1> RIGHT OUTER JOIN <table2>ON <table1>.<column name> = <table2>.<column name>5、;;Full Outer JOIN在Full Outer JOIN中,所有兩個表中的行都包含在結(jié)果數(shù)據(jù)集中。語法如下:Select <select_list>FROM <table1> FULL OUTER JOIN <table2>ON <table1>.<column name> = <table2>.<column name>Case語句;;;;當(dāng)對不同條件產(chǎn)生不同的結(jié)果值時,可使用Case語句。;;;;Case語句計算所有定義的條件,并按條件是否為真而返回結(jié)果。語法如下:CASE [<input_expression>]WHEN <when_expression> THEN <result_expression>[ELSE <else_expression>]ENDInput_expression是任何有效的SQL Server表達(dá)式或布爾表達(dá)式。When_expression是任何有效的SQL Server表達(dá)式或布爾表達(dá)式。這個表達(dá)式和Input_expression比較,如果Input_expression沒有定義,則When_expression應(yīng)該是一個布爾表達(dá)式。Result_expression是任何有效的SQL Server表達(dá)式。如果When_expression和Input_expression的比較返回TRUE(如果定義了Input_expression)或When_expression的值為TRUE,則計算表達(dá)式,并返回其結(jié)果。否則計算Else_expression中的表達(dá)式,并返回其結(jié)果。例如:SELECT au_fname,au_lname,State=CASE state;;;;;;WHEN ‘CA’ THEN ‘California’;;;;;;WHEN ‘KS’ THEN ‘Kansas’;ENDFROM authorsUNION;;;;;;;UNION語句把兩個或多個查詢的結(jié)果組合成一個結(jié)果集。;;;;;;;語法如下:;;;;;;;SELECT <select_list>;;;;;;;FROM <table_list>;;;;;;;WHERE <join_condition>;;;;;;;UNION [ALL];;;;;;;SELECT <table_list>;;;;;;;FROM <table_list>;;;;;;;WHERE <join_condition>;;;;;;;ALL關(guān)鍵字指定重復(fù)的數(shù)據(jù)也將包含在最終結(jié)果數(shù)據(jù)集中。如果需要,一個查詢中可以有許多UNION語句。所有Select_list應(yīng)該有相同數(shù)目的列,且是相同或兼容的數(shù)據(jù)類型。Go命令;;;;;;;Go命令用來標(biāo)志一個查詢批處理(query batch)的結(jié)束。查詢批處理是TSQL語句的集合,這些語句集合在一起執(zhí)行。Go與Osql或SQL Server Query Analyzer一起使用。
標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 步兵社区在线观看 | 看毛片的网址 | 波多野结衣一区二区在线 | 久久精品国产精品青草 | 中文字幕在线观看国产 | 亚洲精品欧美 | 欧美成人免费观看的 | 成人免费午间影院在线观看 | 欧美成人免费sss | 九九99久久精品国产 | 亚洲毛片在线免费观看 | 视频一区 在线 | 亚洲精品免费在线观看 | 日本成a人片在线观看网址 日本成年人视频网站 | 欧美一级成人毛片影院 | 亚洲性色视频 | 日韩freesex呦交 | 亚洲国产剧情在线精品视 | 日本三级在线观看中文字 | 亚洲在线不卡 | 久久久免费网站 | 最新毛片久热97免费精品视频 | 免费一级毛片在线播放放视频 | 欧美一区二区三区国产精品 | 97se狠狠狠狠狠亚洲综合网 | 国产精品视频网址 | 午夜性刺激免费视频 | 男女视频在线观看免费 | 欧美日韩在线观看精品 | 2019偷偷狠狠的日日 | 国产高清美女一级毛片久久 | 国产又色又爽黄的网站免费 | 中文在线观看视频 | 成年人视频在线免费看 | 欧美色视频在线观看 | 91久久精品国产91性色tv | 欧美久久久久欧美一区 | 久草在线视频资源站 | 中文字幕亚洲不卡在线亚瑟 | 日韩在线视频一区二区三区 | 一本久久道|