<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      T-SQL查詢進階--數據集之間的運算

      概述

             關系數據庫的起源起源于數學中的集合概念.所以集合與集合之間,也同樣繼承了數學集合之間的運算.而對于在關系數據庫中,常常用于兩個數據集中并沒有直接的關系數據庫中的“關系”,比如外鍵.但兩個數據集會有間接的關系,比如兩屆比賽,參加比賽人員集合之間會有間接關系.

       

      數據集運算的種類

             在T-SQL中,關系運算實際上可以分為四類,首先看我們舉例子用的表:

             這里的例子表分別為兩個不同會議參加的人員記錄,分別為Meeting1和Meeting2,如下:

             1_1 1_2

             關系運算的具體可以分為以下四類:

      1.A∩B,既是所求數據集既在A中,又在B中

             在實例表中,實際的例子為既參加第一個會議,又參加第二個會議人的集合,如下圖:

       

           2

       

      2.A∪B,既所求數據在數據集A中,或在數據集B中

              在實例表中,實際的例子為參加第一個會議,或參加第二個會議人的集合,如下圖:

              3

       

      3.A-B,既所求數據在數據集A中,不在數據集B中

           在實例表中,實際的例子為參加了第一個會議,同時沒有參加第二個會議的人的集合,如下圖:

            4

       

      4.B-A,既所求數據在數據集B中,不在數據集A中

             這個其實和上面第三種情況沒有本質區別,只是順序顛倒了一下,如下圖:

            5

       

      數據集的來源

            在T-SQL中,參與數據集運算的兩個數據集可以來自任何返回數據集的表達式.比如,一張表,一張表的子集,多張表,臨時表變量,虛擬列,甚至是一個scalar值

       

      數據集運算的條件

            并不是所有的數據集都可以做運算。就像一個蘋果+一個鴨梨不能等于2一樣,在T-SQL中,數據集之間的運算需要符合下面3個條件:

           1.兩個數據集之間必須有相同數量的列(Column)

           2.兩個數據集之間列出現的次序必須一致

           3.兩個數據集之間每一個對應的列的數據類型必須匹配

       

      數據集運算在T-SQL中的實現

         

      1.A∪B  使用UNION實現

           T-SQL中提供了UNION來實現A∪B的運算,實際上UNION有兩個版本,分別為:

           UNION

           UNION表示了A∪B的關系,當遇到兩個數據集中相同的行時,保留唯一一個:

           6

       

         UNION ALL

         UNION ALL同樣實現了A∪B的邏輯,但與UNION不同的是,當遇到兩個數據集中重復的行時,全部保留:

         7

       

      2.A∩B,使用INTERSECT實現

           T-SQL提供了INTERSECT關鍵字來實現A∩B的關系:

           8

       

      3.A-B,使用EXCEPT實現

          T-SQL提供了EXCEPT關鍵字來實現A-B的關系:

          9

       

      數據集運算的別名和排序

          如果沒有為數據列指定別名,則數據列的名稱按照出現在第一個集合對應的列名算:

          10

          做UNION后:

          11

          如若我們想自定義列名,則需要為數據集運算中出現在第一位的數據集指定別名:

           12

       

      對運算后的結果進行排序

          對運算后的結果進行排序是一件非常簡單的事情,只需要在運算的最后加上ORDER BY子句,但是這里一定要注意:

          1.ORDER BY是對整個運算后的結果排序,并不是對單個數據集

          2.ORDER BY后面排序的字段名稱是第一個數據集的字段名或者別名

       

          13

       

      總結

          本文詳細介紹了簡單的集合運算,并給出了簡單集合運算在T-SQL中的實現。在文章最后還介紹了運算的別名規則和排序規則.掌握集合之間的運算對更加清晰的了解T-SQL查詢有很大的幫助。

      posted @ 2011-10-13 12:59  CareySon  閱讀(9143)  評論(9)    收藏  舉報
      主站蜘蛛池模板: 北川| 永久免费AV无码网站大全| 国产精品内射在线免费看| 久久碰国产一区二区三区| 国产精品美女一区二区三| 无码人妻精品一区二区三区夜夜嗨 | 成人亚洲精品一区二区三区| 欧美成人午夜在线观看视频| 国产成人精品一区二区不卡| 亚洲国产精品久久电影欧美| 国产办公室秘书无码精品99| 狠狠色噜噜狠狠狠888米奇视频| 韩国三级在线 中文字幕 无码| 日韩有码av中文字幕| 欧美巨大极度另类| 一区二区三区国产亚洲网站| 国产特级毛片AAAAAA视频| 视频一区二区三区刚刚碰| 日本夜爽爽一区二区三区| 亚洲欧洲日产国码久在线| 舒城县| 日韩少妇人妻vs中文字幕| av新版天堂在线观看| 国产成人亚洲综合图区| 亚洲性日韩精品一区二区| 日韩日韩日韩日韩日韩熟女| 中文字幕成熟丰满人妻| 国产成人精品一区二三区| 白色丝袜国产在线视频| 中文字幕av日韩有码| 日本丶国产丶欧美色综合| 午夜福利92国语| 夜色福利站WWW国产在线视频| 麻豆精品一区二区三区蜜桃| 国产精品任我爽爆在线播放6080| 国产精品午夜无码AV天美传媒 | 日韩精品国产另类专区| 亚洲欧美日韩一区在线观看| 久久精品夜色噜噜亚洲aa| 手机| 99久热在线精品视频|