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

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

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

    本站不再更新,歡迎光臨 java開發技術網
    隨筆-230  評論-230  文章-8  trackbacks-0

    SQL 中JOIN的用法(來自CSDN)

    JOIN 連接組合兩個表中的字段記錄,包括三種: ?

    INNER?JOIN 運算式:連接組合兩個表中的字段記錄。 ?

    LEFT?JOIN 運算式:連接組合兩個表中的字段記錄,并將包含了 LEFT?JOIN 左邊表中的全部記錄。 ?

    RIGHT?JOIN 運算式:連接組合兩個表中的字段記錄,并將包含了 RIGHT?JOIN 右邊表中的全部記錄。 ?

    INNER?JOIN 設定兩個表相關聯的運算式,以連接組合兩個表中的字段記錄。 ?

    INNER?JOIN 語法如下: ?

    FROM? 1?INNER?JOIN? 2?ON? 1. 字段 1? 比較運算子 ? 2. 字段 2?

    兩個表連接的字段,譬如 ?[ 1. 字段 1= 2. 字段 2] ,必須具有相同的字段類型,但是字段名稱不需要相同。 ?

    例如,自動編號字段類型可以連接 Long? 的字段類型,但是單精整數字段類型不能連接雙精整數的字段類型。 ?

    比較運算子可為 = < > <= >= 、或 <> ?

    JOIN 連接的字段,不可以包含 MEMO 字段類型或 OLE 對象類型,否則會發生錯誤。 ?

    在一個 JOIN 表達式中,可以連結多個 ON 子句: ?

    SELECT?fields?
    FROM?
    1?INNER?JOIN? 2?
    ON?
    1. 字段 1? 比較運算子 ? 2. 字段 1?AND?
    ON?
    1. 字段 2? 比較運算子 ? 2. 字段 2)?OR?
    ON?
    1. 字段 3? 比較運算子 ? 2. 字段 3)?

    JOIN 表達式中,可以為巢狀式: ?

    SELECT?fields?
    FROM?
    1?INNER?JOIN?
    (
    2?INNER?JOIN?[(?] 3?
    [INNER?JOIN?[(?]?
    x?[INNER?JOIN?...)]?
    ON?
    3. 字段 3? 比較運算子 ? x. 字段 x)]?
    ON?
    2. 字段 2? 比較運算子 ? 3. 字段 3)?
    ON?
    1. 字段 1? 比較運算子 ? 2. 字段 2?

    在一個 INNER?JOIN 中,可以包括巢狀式的 LEFT?JOIN RIGHT?JOIN ,但是在一個 LEFT?JOIN RIGHT?JOIN 中不能包括巢狀式的 INNER?JOIN ?


    ==================================================
    看一下一個查詢的問題 ?
    我有兩張表 ?
    tab1 ?
    ? ? ? ?字段 ?
    ? ? ? ?aID ?
    ? ? ? ?bID ?
    ?
    tab2 ?
    ? ? ? ?字段 ?
    ? ? ? ?aID ?
    ? ? ? ?bID ?


    tab1中有記錄: ?
    aID ? ?bID ?
    as1 ? ?19 ?
    as2 ? ?19 ?
    as3 ? ?23 ?
    as4 ? ?45 ?
    tab2中有記錄: ?
    aID ? ?bID ?
    as2 ? ?19 ?
    as3 ? ?19 ?
    as4 ? ?19 ?


    現在需要查找出兩張表中bID相等的且bID=19的記錄,應該是5條記錄 ?
    我用的方法是: ?
    方法1:select ?tab1.aID,tab2.aID ?from ?tab1,tab2 ?where ?tab1.bID=tab2.bID ?and ?tab2.bID=19 ?
    方法2:select ?tab1.aID,tab2.aID ?from ?tab1 ?join ?tab2 ?on ?tab1.bID=tab2.bID ?where ?tab1.bID=19 ?
    上面兩中方法選出的記錄都是6條,為什么出這樣的問題,應該怎么做呢? ?
    --------------------------------------------------------------- ?
    ?
    select ?* ?form ?tab1 ?where ?bID=19 ?
    union ?all ? ?
    select ?* ?form ?tab2 ?where ?bID=19 ?
    ?
    ?
    --------------------------------------------------------------- ?
    ?
    create ?table ?tab1 ?
    ? ? ? ?(aID ?char(10), ?
    ? ? ? ?bID ?char(10)) ?
    go ?
    ?
    insert ?into ?tab1(aid,bid) ?values('as1','19') ?
    insert ?tab1 ?values('as2','19') ?
    insert ?tab1 ?values('as3','38') ?
    insert ?tab1 ?values('as4','45') ?
    go ?
    create ?table ?tab2 ?
    ? ? ? ?(aID ?char(10), ?
    ? ? ? ?bID ?char(10)) ?
    go ?
    go ?
    insert ?tab2 ?values('as2','19') ?
    insert ?tab2 ?values('as3','19') ?
    insert ?tab2 ?values('as4','19') ?
    go ?
    select ?* ?from ?tab1 ?
    ?
    select ?* ?from ?tab1 ?where ?tab1.bid='19'union ?all ?select ?* ?from ?tab2 ? ?where ?tab2.bid='19' ?
    ?
    ?
    斑竹加的話: ?
    1、join ?產生的是笛卡爾積。 ?
    2、union ?會排除重復的記錄 ?
    3、union ?all ?不會排除重復的記錄??
    ?

    ?

    union子句
    union操作符將兩個查詢結果合并為一個結果集。為連接查詢合并兩個表時:列的數日和順序在查中必須一致;數據類型兼容
    語法:
    select ?語句
    union ? [ all ]
    select ?語句
    注意:
    1 .union運算從最終結果集中刪除重復記錄,如想不刪除重復記錄使用all關鍵字
    2 .第一個select語句中不能用order?by或compute子句,只能是最后一個select語名后用

    例:查詢計算機系的學生式年齡不大于19歲的學習,按年齡倒排序
    select ? * ? from ?department? where ?dept = ' computer ' ;
    union ;
    ?select?
    * ? from ?student? where ?age <= 19
    order ? by ?age? desc

    posted on 2007-03-16 17:04 有貓相伴的日子 閱讀(1176) 評論(0)  編輯  收藏 所屬分類: pl/sql
    本站不再更新,歡迎光臨 java開發技術網
    主站蜘蛛池模板: 国产免费看插插插视频| 亚洲一区二区三区在线网站| 国产jizzjizz免费视频| 无人在线观看免费高清视频| 色片在线免费观看| 色播在线永久免费视频| 亚洲成av人片天堂网老年人| 亚洲福利精品电影在线观看| 久久综合亚洲色HEZYO国产| 国产亚洲人成无码网在线观看 | 日本视频免费在线| 亚洲日本久久一区二区va| 亚洲一区二区三区免费在线观看| 久久久久亚洲国产| a级毛片免费播放| 免费人成在线观看视频播放| 亚洲国产av一区二区三区| 亚洲国产精品人人做人人爽| 亚洲人成网站日本片| 曰批免费视频播放免费| 性xxxx视频播放免费| 亚洲人成影院在线无码按摩店| 欧洲亚洲国产精华液| 一二三四免费观看在线电影| 久久亚洲中文字幕精品有坂深雪 | 亚洲熟伦熟女专区hd高清| 久久国产色AV免费观看| 亚洲免费观看视频| xvideos永久免费入口| 免费在线视频一区| 午夜亚洲WWW湿好爽| 成人毛片18女人毛片免费视频未| 亚洲无砖砖区免费| 91精品国产免费久久国语蜜臀 | 亚洲精品国产精品国自产网站| 一级做a爰全过程免费视频| 亚洲AV无码日韩AV无码导航| a级毛片免费网站| 国产成人亚洲精品影院| 人禽伦免费交视频播放| 亚洲国产91精品无码专区|