<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風雨無阻

    為什么要使用“外連接”

    之前我們看到的左連接 (left join),又稱內部連接 (inner join)。在這個情況下,要兩個表格內都有同樣的值,那一筆資料才會被選出。那如果我們想要列出一個表格中每一筆的資料,無論它的值在另一個表格中有沒有出現,那該怎么辦呢?在這個時候,我們就需要用到 SQL OUTER JOIN (外部連接) 的指令。

    外部連接的語法是依數據庫的不同而有所不同的。舉例來說,在 Oracle 上,我們會在 WHERE 子句中要選出所有資料的那個表格之后加上一個 "(+)" 來代表說這個表格中的所有資料我們都要。

    假設我們有以下的兩個表格:

    Store_Information 表格
    store_name Sales Date
    Los Angeles $1500 Jan-05-1999
    San Diego $250 Jan-07-1999
    Los Angeles $300 Jan-08-1999
    Boston $700 Jan-08-1999

    Geography 表格
    region_name store_name
    East Boston
    East New York
    West Los Angeles
    West San Diego

    我們需要知道每一間店的營業額。如果我們用一個普通的連接,我們將會漏失掉 'New York'這個店,因為它并不存在于 Store_Information 這個表格。所以,在這個情況下,我們需要用外部連接來串聯這兩個表格:

    SELECT A1.store_name, SUM(A2.Sales) SALES
    FROM Georgraphy A1, Store_Information A2
    WHERE A1.store_name = A2.store_name (+)
    GROUP BY A1.store_name

    我們在這里是使用了 Oracle 的外部連接語法。

    如果換成了Mysql:
    select a1.store_name,sum(a2.sales) from geography a1 left join store_information a2
    on a1.store_name=a2.store_name group by a1.store_name;


    結果:

    store_name SALES
    Boston $700
    New York
    Los Angeles $1800
    San Diego $250

    請注意: 當第二個表格沒有相對的資料時,SQL 會傳回 NULL 值。在這一個例子中, 'New York' 并不存在于 Store_Information 表格,所以它的 "SALES" 欄位是 NULL。

    posted on 2008-03-20 20:07 秋楓故事 閱讀(616) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    新聞檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲高清专区日韩精品| 国产亚洲一区二区三区在线| 亚洲一区二区三区免费视频| 久久精品人成免费| 亚洲av无码专区在线播放| 中文字幕日本人妻久久久免费| 亚洲男人第一无码aⅴ网站| h视频免费高清在线观看| 国产午夜亚洲不卡| CAOPORN国产精品免费视频| 亚洲午夜福利717| 久久九九全国免费| 亚洲av网址在线观看| 亚洲无砖砖区免费| 亚洲av成人综合网| 免费看无码自慰一区二区| 国产成人精品亚洲| 国产精品V亚洲精品V日韩精品 | 成年午夜视频免费观看视频| 亚洲欧洲精品成人久久曰| 免费中文字幕一级毛片| 和老外3p爽粗大免费视频| 亚洲精品V欧洲精品V日韩精品| 久久精品国产这里是免费| 亚洲人成免费电影| 国产成人无码免费视频97| 三年片免费高清版| 亚洲成综合人影院在院播放| 永久免费视频v片www| 国产免费AV片在线观看播放| 亚洲视频在线播放| 在线视频免费观看www动漫| 日韩免费码中文在线观看| 亚洲精品私拍国产福利在线| 中文字幕无码视频手机免费看 | 在线观着免费观看国产黄| 久久久久久国产a免费观看不卡| 亚洲精品美女在线观看播放| 国产精品免费视频播放器| 免费在线看黄的网站| 亚洲s码欧洲m码吹潮|